| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Coded*Stream.
Prod code works, but some tests are broken. Obviously those need fixing, then more tests,
and review benchmarks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change the default message hash code to 1 to be consistent with other code
- Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map"
- Removed map fields from unittest_proto3.proto
- Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only
- Fixed factory methods in FieldCodec highlighted by using all field types :)
- Added tests for map serialization:
- Extra fields within entries
- Entries with value then key
- Non-contiguous entries for the same map
- Multiple entries for the same key
Changes to generated code coming in next commit
|
|
|
|
| |
Generated code in next commit.
|
|
|
|
| |
More tests required. Generated code in next commit.
|
|
|
|
| |
Fixes issue #523.
|
|
|
|
| |
Fixes issue #527.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is effectively reimplementing List<T>, but with a few advantages:
- We know that an empty repeated field is common, so don't allocate an array until we need to
- With direct access to the array, we can easily convert enum values to int without boxing
- We can relax the restrictions over what happens if the repeated field is modified while iterating, avoiding so much checking
This is somewhat risky, in that reimplementing a building block like this is *always* risky, but hey...
(The performance benefits are significant...)
|
|
|
|
| |
pretty slow right now.
|
|
|