Skip to main content

Module primitives

Module primitives 

Source
Expand description

Fixed-width and varint primitive read/write helpers.

Every Kafka schema field eventually decomposes to one of these primitives. Helpers operate on bytes::Bytes / bytes::BytesMut and return PrimitiveError on insufficient data or malformed varints.

Re-exports§

pub use self::error::PrimitiveError;
pub use self::error::PrimitiveErrorKind;

Modules§

error
Error types for crate::primitives.

Functions§

array_length_len
Encoded length of a non-flexible array length prefix.
array_read_capacity
Initial Vec capacity for a decoded array.
compact_array_length_len
Encoded length of a compact array length prefix.
read_array_length
Read a non-flexible array length (i32). -1 indicates a null array.
read_bool
Read a boolean (1 byte: 0 = false, nonzero = true).
read_compact_array_length
Read a compact array length (varint of len + 1, 0 → -1 (null)).
read_f64
Read a 64-bit IEEE-754 float (big-endian).
read_i8
Read a signed 8-bit integer.
read_i16
Read a signed 16-bit integer (big-endian).
read_i32
Read a signed 32-bit integer (big-endian).
read_i64
Read a signed 64-bit integer (big-endian).
read_signed_varint
Read a signed varint (zigzag-decoded i32).
read_signed_varlong
Read a signed varlong (zigzag-decoded i64).
read_u16
Read an unsigned 16-bit integer (big-endian).
read_u32
Read an unsigned 32-bit integer (big-endian).
read_unsigned_varint
Read an unsigned varint (1–5 bytes, u32 payload).
read_unsigned_varlong
Read an unsigned varlong (1–10 bytes, u64 payload).
signed_varint_len
Encoded length of a signed varint (zigzag-encoded i32).
signed_varlong_len
Encoded length of a signed varlong (zigzag-encoded i64).
unsigned_varint_len
Encoded length of an unsigned varint (1–5 bytes, u32 payload).
unsigned_varlong_len
Encoded length of an unsigned varlong (1–10 bytes, u64 payload).
write_array_length
Write a non-flexible array length (i32).
write_bool
Write a boolean (1 byte: 0 or 1).
write_compact_array_length
Write a compact array length (varint of len + 1, negative → 0 (null)).
write_f64
Write a 64-bit IEEE-754 float (big-endian).
write_i8
Write a signed 8-bit integer.
write_i16
Write a signed 16-bit integer (big-endian).
write_i32
Write a signed 32-bit integer (big-endian).
write_i64
Write a signed 64-bit integer (big-endian).
write_signed_varint
Write a signed varint (zigzag-encoded i32).
write_signed_varlong
Write a signed varlong (zigzag-encoded i64).
write_u16
Write an unsigned 16-bit integer (big-endian).
write_u32
Write an unsigned 32-bit integer (big-endian).
write_unsigned_varint
Write an unsigned varint (1–5 bytes, u32 payload).
write_unsigned_varlong
Write an unsigned varlong (1–10 bytes, u64 payload).

Type Aliases§

Result
Result alias for primitive read operations.