pub trait ReadBytes {
// Required methods
fn peek<F, R>(&mut self, n: usize, f: F) -> Result<R>
where F: FnOnce(&[u8]) -> Result<R>;
fn advance(&mut self, n: usize);
fn remaining_buffer(&mut self) -> &[u8] ⓘ;
// Provided methods
fn read<F, R>(&mut self, n: usize, f: F) -> Result<R>
where F: FnOnce(&[u8]) -> Result<R> { ... }
fn is_complete(&mut self) -> Result { ... }
}Expand description
Simple byte reader from buffer
If you need to read from &[u8], you may use DeBytesReader provided by this crate.
Required Methods§
Sourcefn advance(&mut self, n: usize)
fn advance(&mut self, n: usize)
Advance buffer head by n bytes. n should be smaller than remaining buffer size.
Sourcefn remaining_buffer(&mut self) -> &[u8] ⓘ
fn remaining_buffer(&mut self) -> &[u8] ⓘ
Returns view into remaining buffer
Provided Methods§
Sourcefn read<F, R>(&mut self, n: usize, f: F) -> Result<R>
fn read<F, R>(&mut self, n: usize, f: F) -> Result<R>
Get n bytes from the beginning of buffer, advance by n bytes
Sourcefn is_complete(&mut self) -> Result
fn is_complete(&mut self) -> Result
Check if buffer is fully consumed (empty)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.