| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
We'll see what I've missed when CI fails...
|
|
|
|
|
| |
- We do still generate the message types, as otherwise reflection breaks, even though it doesn't actually use those types.
- JSON handling hasn't been implemented yet
|
|
|
|
|
|
| |
Everything should now be consistent - the only difference between files is the year (aside from generated files).
Fixes issue #531.
|
|
|
|
| |
This is mostly just making things internal instead of public, removing and reordering a bunch of code in CodedInputStream/CodedOutputStream, and generally tidying up.
|
|
|
|
|
|
|
| |
Coded*Stream.
Prod code works, but some tests are broken. Obviously those need fixing, then more tests,
and review benchmarks.
|
|
|
|
| |
More tests required. Generated code in next commit.
|
|
|
|
|
|
|
|
| |
- Make some members internal
- Remove a lot of FrameworkPortability that isn't required
- Start adding documentation comments
- Remove some more group-based members
- Not passing in "the last tag read" into Read*Array, g
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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...)
|
| |
|
|
|
|
| |
Remove ICodedInputStream and ICodedOutputStream, and rewrite CodedInputStream and CodedOutputStream to be specific to the binary format. If we want to support text-based formats, that can be a whole different serialization mechanism.
|
|
|
|
| |
This makes repeated fields really awkward at the moment - but when we reimplement RepeatedField<T> to be backed by an array, we can cast the array directly...
|
|
|
|
|
|
| |
single byte.
Aside from anything else, this will be used for all tags for fields 1-15.
|
|
|
|
|
| |
Cache a reference to Encoding.UTF8 - the property access is (rather surprisingly) significant.
Additionally, when we detect that the string is all ASCII (due to the computed length in bytes being the length in characters), we can perform the encoding very efficiently ourselves.
|
|
|
|
| |
pretty slow right now.
|
|
|
|
| |
We need to remove it from the generator too; I'll raise a github issue for that.
|
|
|