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§

source

fn next_u8(&mut self) -> Result<Option<u8>, Error>

Optionally returns a single u8

Provided Methods§

source

fn read_u8(&mut self) -> Result<u8, Error>

Reads a single u8

source

fn read_be_u16(&mut self) -> Result<u16, Error>

Reads a single u16 in big-endian order, 2 bytes, MSB first.

source

fn next_be_u16(&mut self) -> Result<Option<u16>, Error>

Optionally reads a single u16 in big-endian order, 2 bytes, MSB first.

source

fn read_be_u32(&mut self) -> Result<u32, Error>

Reads a single u32 in big-endian order, 4 bytes, MSB first.

source

fn next_be_u32(&mut self) -> Result<Option<u32>, Error>

Optionally reads a single u32 in big-endian order, 4 bytes, MSB first.

source

fn read_be_u64(&mut self) -> Result<u64, Error>

Reads a single u64 in big-endian order, 8 bytes, MSB first.

source

fn next_be_u64(&mut self) -> Result<Option<u64>, Error>

Optionally reads a single u64 in big-endian order, 8 bytes, MSB first.

source

fn read_be_u128(&mut self) -> Result<u128, Error>

Reads a single u128 in big-endian order, 16 bytes, MSB first.

source

fn next_be_u128(&mut self) -> Result<Option<u128>, Error>

Optionally reads a single u128 in big-endian order, 16 bytes, MSB first.

source

fn read_f32(&mut self) -> Result<f32, Error>

Reads a single f32, 4 bytes. Standard IEEE754 encoding

source

fn next_f32(&mut self) -> Result<Option<f32>, Error>

Optionally reads a single f32, 4 bytes. Standard IEEE754 encoding

source

fn read_f64(&mut self) -> Result<f64, Error>

Reads a single f64, 8 bytes. Standard IEEE754 encoding

source

fn next_f64(&mut self) -> Result<Option<f64>, Error>

Optionally reads a single f64, 8 bytes. Standard IEEE754 encoding

source

fn read_be_i16(&mut self) -> Result<i16, Error>

Reads a single i16 in big-endian order, 2 bytes, MSB first.

source

fn next_be_i16(&mut self) -> Result<Option<i16>, Error>

Optionally reads a single i16 in big-endian order, 2 bytes, MSB first.

source

fn read_be_i32(&mut self) -> Result<i32, Error>

Reads a single i32 in big-endian order, 4 bytes, MSB first.

source

fn next_be_i32(&mut self) -> Result<Option<i32>, Error>

Optionally reads a single i32 in big-endian order, 4 bytes, MSB first.

source

fn read_be_i64(&mut self) -> Result<i64, Error>

Reads a single i64 in big-endian order, 8 bytes, MSB first.

source

fn next_be_i64(&mut self) -> Result<Option<i64>, Error>

Optionally reads a single i64 in big-endian order, 8 bytes, MSB first.

source

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)]

source

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.

source

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.

source

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.

source

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.

source

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

source

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.

source

fn read_all_str_lossy(&mut self) -> Result<String, Error>

Reads the entire stream into a UTF-8 String, dropping all other packets.

source

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>

source

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.

source

fn read_some_into<T: MutBits>(&mut self, buf: &mut T) -> Result<usize, Error>

Reads some subset of the data into the specified target.

source

fn read_until(&mut self, search: &[u8]) -> Result<Vec<u8>, Error>

Reads from the input stream until:

  1. The byte stream represented by ‘search’ has been found or
  2. The input stream returns 0 bytes read (or errors out) It returns all bytes read in the interim
source

fn consume_until(&mut self, search: &[u8]) -> Result<(), Error>

Consumes data from the input stream until:

  1. The byte stream represented by ‘search’ has been found or
  2. The input reader returns 0 bytes read (or errors out)

Note: The input stream position is left JUST AFTER the found search string.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Bits for &[u8]

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for &mut VecDeque<u8>

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for &mut String

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for &mut Vec<u8>

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for &mut [u8]

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for VecDeque<u8>

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for String

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for Vec<u8>

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

source§

fn read_some_into<T: MutBits>(&mut self, into: &mut T) -> Result<usize, Error>

source§

impl Bits for File

source§

fn next_u8(&mut self) -> Result<Option<u8>, Error>

Implementors§

source§

impl<'a, T> Bits for BitsWrapper<'a, T>
where T: Read,