AsyncBinaryReaderWriter
AsyncBinaryReaderWriter copied to clipboard
Make 7-bit methods public
Why are those methods reading and writing 7-bit encoded integers protected? Also missing Int64 variants.
Last time I checked this library has total feature parity with the 2 reader/writer classes found in .NET's BCL.
The 7-bit methods are used for communicating string lengths and are not intended for consumer use. The reason for 7 bit encoding is so that the fewest number of bytes can be used to represent the length of the string being transmitted. The remaining bit is dedicated to signalling whether additional bytes should be codec'd for the string length.
As for the Int64 variants, do you mean these?
I mean Read7BitEncodedInt64()
and Write7BitEncodedInt64()
. They are public
in the BCL; may be consumed to prefix the length of a byte array or just send a small integer. I don't see why we want to restrict its usage to derived classes only.
That's news to me; I doubt they were public at the time, since the entire implementation is a copy-paste-edit.
Submit a PR and I'll merge and deploy it.
There are many more changes and optimizations in .NET 6 source code. I haven't studied older versions.
Apparently these are new in .NET 5: