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

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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>