Trait TailReadBytes

Source
pub trait TailReadBytes: ReadBytes {
    // Required methods
    fn peek_tail<F, R>(&mut self, n: usize, f: F) -> Result<R>
       where F: FnOnce(&[u8]) -> Result<R>;
    fn advance_tail(&mut self, n: usize);

    // Provided method
    fn read_tail<F, R>(&mut self, n: usize, f: F) -> Result<R>
       where F: FnOnce(&[u8]) -> Result<R> { ... }
}
Expand description

Trait for reading from the tail of byte buffer

Required Methods§

Source

fn peek_tail<F, R>(&mut self, n: usize, f: F) -> Result<R>
where F: FnOnce(&[u8]) -> Result<R>,

Source

fn advance_tail(&mut self, n: usize)

Advance buffer head by n bytes. n should be smaller than remaining buffer size.

Provided Methods§

Source

fn read_tail<F, R>(&mut self, n: usize, f: F) -> Result<R>
where F: FnOnce(&[u8]) -> Result<R>,

Get n bytes from the beginning of buffer, advance by n bytes

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.

Implementations on Foreign Types§

Source§

impl<'a, T> TailReadBytes for &'a mut T
where T: TailReadBytes,

Source§

fn peek_tail<F, R>(&mut self, n: usize, f: F) -> Result<R>
where F: FnOnce(&[u8]) -> Result<R>,

Source§

fn advance_tail(&mut self, n: usize)

Implementors§