Trait irox_tools::bits::Bits
source · pub trait Bits {
Show 33 methods
// Required method
fn next_u8(&mut self) -> Result<Option<u8>, Error>;
// Provided methods
fn read_u8(&mut self) -> Result<u8, Error> { ... }
fn read_be_u16(&mut self) -> Result<u16, Error> { ... }
fn next_be_u16(&mut self) -> Result<Option<u16>, Error> { ... }
fn read_be_u32(&mut self) -> Result<u32, Error> { ... }
fn next_be_u32(&mut self) -> Result<Option<u32>, Error> { ... }
fn read_be_u64(&mut self) -> Result<u64, Error> { ... }
fn next_be_u64(&mut self) -> Result<Option<u64>, Error> { ... }
fn read_be_u128(&mut self) -> Result<u128, Error> { ... }
fn next_be_u128(&mut self) -> Result<Option<u128>, Error> { ... }
fn read_f32(&mut self) -> Result<f32, Error> { ... }
fn next_f32(&mut self) -> Result<Option<f32>, Error> { ... }
fn read_f64(&mut self) -> Result<f64, Error> { ... }
fn next_f64(&mut self) -> Result<Option<f64>, Error> { ... }
fn read_be_i16(&mut self) -> Result<i16, Error> { ... }
fn next_be_i16(&mut self) -> Result<Option<i16>, Error> { ... }
fn read_be_i32(&mut self) -> Result<i32, Error> { ... }
fn next_be_i32(&mut self) -> Result<Option<i32>, Error> { ... }
fn read_be_i64(&mut self) -> Result<i64, Error> { ... }
fn next_be_i64(&mut self) -> Result<Option<i64>, Error> { ... }
fn advance(&mut self, len: usize) -> Result<usize, Error> { ... }
fn read_u8_blob(&mut self) -> Result<Vec<u8>, Error> { ... }
fn read_u16_blob(&mut self) -> Result<Vec<u8>, Error> { ... }
fn read_u32_blob(&mut self) -> Result<Vec<u8>, Error> { ... }
fn read_u64_blob(&mut self) -> Result<Vec<u8>, Error> { ... }
fn read_exact_vec(&mut self, size: usize) -> Result<Vec<u8>, Error> { ... }
fn read_exact_into<T: MutBits>(
&mut self,
size: usize,
into: &mut T
) -> Result<(), Error> { ... }
fn read_all_str_lossy(&mut self) -> Result<String, Error> { ... }
fn read_all_vec(&mut self) -> Result<Vec<u8>, Error> { ... }
fn read_all_into<T: MutBits>(&mut self, into: &mut T) -> Result<(), Error> { ... }
fn read_some_into<T: MutBits>(
&mut self,
buf: &mut T
) -> Result<usize, Error> { ... }
fn read_until(&mut self, search: &[u8]) -> Result<Vec<u8>, Error> { ... }
fn consume_until(&mut self, search: &[u8]) -> Result<(), Error> { ... }
}Expand description
Read methods for the primitive types
Required Methods§
Provided Methods§
sourcefn read_be_u16(&mut self) -> Result<u16, Error>
fn read_be_u16(&mut self) -> Result<u16, Error>
Reads a single u16 in big-endian order, 2 bytes, MSB first.
sourcefn next_be_u16(&mut self) -> Result<Option<u16>, Error>
fn next_be_u16(&mut self) -> Result<Option<u16>, Error>
Optionally reads a single u16 in big-endian order, 2 bytes, MSB first.
sourcefn read_be_u32(&mut self) -> Result<u32, Error>
fn read_be_u32(&mut self) -> Result<u32, Error>
Reads a single u32 in big-endian order, 4 bytes, MSB first.
sourcefn next_be_u32(&mut self) -> Result<Option<u32>, Error>
fn next_be_u32(&mut self) -> Result<Option<u32>, Error>
Optionally reads a single u32 in big-endian order, 4 bytes, MSB first.
sourcefn read_be_u64(&mut self) -> Result<u64, Error>
fn read_be_u64(&mut self) -> Result<u64, Error>
Reads a single u64 in big-endian order, 8 bytes, MSB first.
sourcefn next_be_u64(&mut self) -> Result<Option<u64>, Error>
fn next_be_u64(&mut self) -> Result<Option<u64>, Error>
Optionally reads a single u64 in big-endian order, 8 bytes, MSB first.
sourcefn read_be_u128(&mut self) -> Result<u128, Error>
fn read_be_u128(&mut self) -> Result<u128, Error>
Reads a single u128 in big-endian order, 16 bytes, MSB first.
sourcefn next_be_u128(&mut self) -> Result<Option<u128>, Error>
fn next_be_u128(&mut self) -> Result<Option<u128>, Error>
Optionally reads a single u128 in big-endian order, 16 bytes, MSB first.
sourcefn read_f32(&mut self) -> Result<f32, Error>
fn read_f32(&mut self) -> Result<f32, Error>
Reads a single f32, 4 bytes. Standard IEEE754 encoding
sourcefn next_f32(&mut self) -> Result<Option<f32>, Error>
fn next_f32(&mut self) -> Result<Option<f32>, Error>
Optionally reads a single f32, 4 bytes. Standard IEEE754 encoding
sourcefn read_f64(&mut self) -> Result<f64, Error>
fn read_f64(&mut self) -> Result<f64, Error>
Reads a single f64, 8 bytes. Standard IEEE754 encoding
sourcefn next_f64(&mut self) -> Result<Option<f64>, Error>
fn next_f64(&mut self) -> Result<Option<f64>, Error>
Optionally reads a single f64, 8 bytes. Standard IEEE754 encoding
sourcefn read_be_i16(&mut self) -> Result<i16, Error>
fn read_be_i16(&mut self) -> Result<i16, Error>
Reads a single i16 in big-endian order, 2 bytes, MSB first.
sourcefn next_be_i16(&mut self) -> Result<Option<i16>, Error>
fn next_be_i16(&mut self) -> Result<Option<i16>, Error>
Optionally reads a single i16 in big-endian order, 2 bytes, MSB first.
sourcefn read_be_i32(&mut self) -> Result<i32, Error>
fn read_be_i32(&mut self) -> Result<i32, Error>
Reads a single i32 in big-endian order, 4 bytes, MSB first.
sourcefn next_be_i32(&mut self) -> Result<Option<i32>, Error>
fn next_be_i32(&mut self) -> Result<Option<i32>, Error>
Optionally reads a single i32 in big-endian order, 4 bytes, MSB first.
sourcefn read_be_i64(&mut self) -> Result<i64, Error>
fn read_be_i64(&mut self) -> Result<i64, Error>
Reads a single i64 in big-endian order, 8 bytes, MSB first.
sourcefn next_be_i64(&mut self) -> Result<Option<i64>, Error>
fn next_be_i64(&mut self) -> Result<Option<i64>, Error>
Optionally reads a single i64 in big-endian order, 8 bytes, MSB first.
sourcefn advance(&mut self, len: usize) -> Result<usize, Error>
fn advance(&mut self, len: usize) -> Result<usize, Error>
Advances the stream by at most ‘len’ bytes. The actual amount of bytes advanced may be
less, and is returned in [Ok(usize)]
sourcefn read_u8_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_u8_blob(&mut self) -> Result<Vec<u8>, Error>
Reads a sized blob, a series of bytes preceded by a u8 declaring the size.
sourcefn read_u16_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_u16_blob(&mut self) -> Result<Vec<u8>, Error>
Reads a sized blob, a series of bytes preceded by a u16 declaring the size.
sourcefn read_u32_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_u32_blob(&mut self) -> Result<Vec<u8>, Error>
Reads a sized blob, a series of bytes preceded by a u32 declaring the size.
sourcefn read_u64_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_u64_blob(&mut self) -> Result<Vec<u8>, Error>
Reads a sized blob, a series of bytes preceded by a u64 declaring the size.
sourcefn read_exact_vec(&mut self, size: usize) -> Result<Vec<u8>, Error>
fn read_exact_vec(&mut self, size: usize) -> Result<Vec<u8>, Error>
Reads the specified amount of bytes into a Vec<u8> and returns it
sourcefn read_exact_into<T: MutBits>(
&mut self,
size: usize,
into: &mut T
) -> Result<(), Error>
fn read_exact_into<T: MutBits>( &mut self, size: usize, into: &mut T ) -> Result<(), Error>
Reads the specified amount of bytes into the specified target.
sourcefn read_all_str_lossy(&mut self) -> Result<String, Error>
fn read_all_str_lossy(&mut self) -> Result<String, Error>
Reads the entire stream into a UTF-8 String, dropping all other packets.
sourcefn read_all_vec(&mut self) -> Result<Vec<u8>, Error>
fn read_all_vec(&mut self) -> Result<Vec<u8>, Error>
Reads to the end of the stream and returns the data as a Vec<u8>
sourcefn read_all_into<T: MutBits>(&mut self, into: &mut T) -> Result<(), Error>
fn read_all_into<T: MutBits>(&mut self, into: &mut T) -> Result<(), Error>
Reads to the end of the stream, and writes it into the specified target.
sourcefn read_some_into<T: MutBits>(&mut self, buf: &mut T) -> Result<usize, Error>
fn read_some_into<T: MutBits>(&mut self, buf: &mut T) -> Result<usize, Error>
Reads some subset of the data into the specified target.