Module varint

Module varint 

Source
Expand description

Variable-length integer encoding (varint) for compact storage.

This module provides optimized encoding and decoding of unsigned integers using a compact variable-length format. Smaller values use fewer bytes.

§Format

Each byte uses 7 bits for data and 1 bit as a continuation flag:

  • Bit 7 (MSB): 1 = more bytes follow, 0 = last byte
  • Bits 0-6: Data bits (little-endian)

§Examples

// Small values use 1 byte
assert_eq!(encode_varint(127), vec![127]);

// Larger values use multiple bytes
assert_eq!(encode_varint(300), vec![0xAC, 0x02]);

// Decode returns (value, bytes_consumed)
assert_eq!(decode_varint(&[0xAC, 0x02]), (300, 2));

Functions§

decode_varint
Decodes a variable-length integer from a byte slice.
encode_varint
Encodes an unsigned integer as a variable-length byte sequence.