Fix a bug in `SkipVarint{32,64}(Cord::CharIterator&)`: when the varint crosses
`Cord` chunks, correctly advance past the last byte.

Fix a bug in `{Read,Copy,Skip}Varint{32,64}(Cord::CharIterator&)`: when the
varint is truncated after exactly 2 bytes, fail instead of triggering an
assertion and then reading past the end of the `Cord`. The code here is not
fully analogous to reading from a `Reader` or array because `Cord::CharIterator`
does not support forcing a lookahead by more than 1 byte.

PiperOrigin-RevId: 867663513
1 file changed
tree: ad60fe97a05aa5383fb725e2e91550063c2a3f7d
  1. doc/
  2. python/
  3. riegeli/
  4. tf_dependency/
  5. .bazelrc
  6. configure
  7. CONTRIBUTING.md
  8. LICENSE
  9. MANIFEST.in
  10. MODULE.bazel
  11. README.md
README.md

Riegeli

Riegeli/records is a file format for storing a sequence of string records, typically serialized protocol buffers. It supports dense compression, fast decoding, seeking, detection and optional skipping of data corruption, filtering of proto message fields for even faster decoding, and parallel encoding.

See documentation.

Status

Riegeli file format will only change in a backward compatible way (i.e. future readers will understand current files, but current readers might not understand files using future features).

Riegeli C++ API might change in incompatible ways.