Skip to main content

Module varint

Module varint 

Source
Expand description

QUIC 变长整数编码(RFC 9000 §16 唯一实现)

全 workspace 唯一实现:zenith-http3(帧层)、zenith-net(QUIC 头构造) 统一经 zenith-http3 re-export 本模块,禁止重复实现。

§编码格式

  • 1 字节: 00xxxxxx (0-63)
  • 2 字节: 01xxxxxx xxxxxxxx (64-16383)
  • 4 字节: 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx (16384-2^30-1)
  • 8 字节: 11xxxxxx xxxxxxxx … (2^30-2^62-1)

§边界保证

当 value >= 2^62 时严格返回错误(fail-closed,禁止静默截断高位)。

Constants§

MAX_VARINT_SIZE
RFC 9000 varint 最大编码长度(字节)
MAX_VARINT_VALUE
RFC 9000 varint 最大可编码值(2^62 - 1)

Functions§

encode_varint
编码 QUIC 变长度整数到 Vec(fail-closed 包装器)
encode_varint_buf
编码 QUIC 变长度整数到固定输出缓冲区(fail-closed)
parse_varint
解析 QUIC/HTTP/3 变长度整数 (RFC 9000 §16)