Current cursor position.
Bytes not yet consumed.
Reads exactly n raw bytes (opaque name[N]).
Asserts that the cursor has consumed the entire buffer. Use this when a document says a value is "decoded exactly".
Whether any bytes remain to be read.
Reads a variable-length byte string written as a QUIC varint length prefix followed by
the bytes (opaque name<min..max>). Enforces the field bounds when given.
Optionalbounds: OpaqueBoundsReads a big-endian uint16.
Reads a big-endian uint32.
Reads a big-endian uint64.
Reads a uint8.
Reads a QUIC variable-length integer as a number. Throws if the value exceeds
Number.MAX_SAFE_INTEGER; use BinaryReader.varintBig for larger values.
Reads a QUIC variable-length integer as a bigint.
Reads a list written as a QUIC varint byte-length prefix followed by concatenated item
encodings (Type items<V>). The body MUST decode to a whole number of items with no
trailing bytes.
Optionalbounds: OpaqueBounds
Reads a byte string in the Marmot binary profile with a moving cursor. Read methods advance the cursor and throw BinaryDecodeError on truncated or non-canonical input.