Skip to main content

ReadBuffer

Trait ReadBuffer 

Source
pub trait ReadBuffer {
Show 15 methods // Required methods fn as_slice(&self) -> &[u8] ; fn len(&self) -> usize; // Provided methods fn is_empty(&self) -> bool { ... } fn get_u8(&self, offset: usize) -> u8 { ... } fn get_i8(&self, offset: usize) -> i8 { ... } fn get_u16_le(&self, offset: usize) -> u16 { ... } fn get_i16_le(&self, offset: usize) -> i16 { ... } fn get_u32_le(&self, offset: usize) -> u32 { ... } fn get_i32_le(&self, offset: usize) -> i32 { ... } fn get_u64_le(&self, offset: usize) -> u64 { ... } fn get_i64_le(&self, offset: usize) -> i64 { ... } fn get_f32_le(&self, offset: usize) -> f32 { ... } fn get_f64_le(&self, offset: usize) -> f64 { ... } fn get_bytes(&self, offset: usize, len: usize) -> &[u8] { ... } fn get_str(&self, offset: usize, len: usize) -> &str { ... }
}
Expand description

Trait for read-only buffer access with optimized primitive reads.

All read methods use little-endian byte order as per SBE specification.

Required Methods§

Source

fn as_slice(&self) -> &[u8]

Returns the buffer as a byte slice.

Source

fn len(&self) -> usize

Returns the length of the buffer in bytes.

Provided Methods§

Source

fn is_empty(&self) -> bool

Returns true if the buffer is empty.

Source

fn get_u8(&self, offset: usize) -> u8

Reads a u8 at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_i8(&self, offset: usize) -> i8

Reads an i8 at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_u16_le(&self, offset: usize) -> u16

Reads a u16 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_i16_le(&self, offset: usize) -> i16

Reads an i16 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_u32_le(&self, offset: usize) -> u32

Reads a u32 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_i32_le(&self, offset: usize) -> i32

Reads an i32 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_u64_le(&self, offset: usize) -> u64

Reads a u64 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_i64_le(&self, offset: usize) -> i64

Reads an i64 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_f32_le(&self, offset: usize) -> f32

Reads an f32 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_f64_le(&self, offset: usize) -> f64

Reads an f64 in little-endian at the given offset.

§Arguments
  • offset - Byte offset to read from
Source

fn get_bytes(&self, offset: usize, len: usize) -> &[u8]

Returns a slice of bytes at the given offset and length.

§Arguments
  • offset - Byte offset to start from
  • len - Number of bytes to read
Source

fn get_str(&self, offset: usize, len: usize) -> &str

Reads a fixed-length character array as a string slice. Trims null bytes from the end.

§Arguments
  • offset - Byte offset to start from
  • len - Maximum length of the string

Implementations on Foreign Types§

Source§

impl ReadBuffer for Vec<u8>

Implement ReadBuffer for Vec<u8>.

Source§

fn as_slice(&self) -> &[u8]

Source§

fn len(&self) -> usize

Source§

impl ReadBuffer for [u8]

Implement ReadBuffer for byte slices.

Source§

fn as_slice(&self) -> &[u8]

Source§

fn len(&self) -> usize

Implementors§

Source§

impl<const N: usize> ReadBuffer for AlignedBuffer<N>