Skip to main content

Buffer

Trait Buffer 

Source
pub trait Buffer {
    // Required methods
    fn bytes(&self) -> &[u8];
    fn len(&self) -> usize;
    fn read_bytes_at(
        &self,
        offset: usize,
        length: usize,
    ) -> Result<&[u8], BufferError>;
}

Required Methods§

Source

fn bytes(&self) -> &[u8]

The whole buffer as a slice.

Source

fn len(&self) -> usize

The length of the data in the buffer.

Source

fn read_bytes_at( &self, offset: usize, length: usize, ) -> Result<&[u8], BufferError>

Reads a given number of bytes at the given offset.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl Buffer for &[u8]

Source§

fn bytes(&self) -> &[u8]

Source§

fn len(&self) -> usize

Source§

fn read_bytes_at( &self, offset: usize, length: usize, ) -> Result<&[u8], BufferError>

Source§

impl<T: Buffer> Buffer for &T

Source§

fn bytes(&self) -> &[u8]

Source§

fn len(&self) -> usize

Source§

fn read_bytes_at( &self, offset: usize, length: usize, ) -> Result<&[u8], BufferError>

Source§

impl<T: Buffer> Buffer for &mut T

Source§

fn bytes(&self) -> &[u8]

Source§

fn len(&self) -> usize

Source§

fn read_bytes_at( &self, offset: usize, length: usize, ) -> Result<&[u8], BufferError>

Source§

impl<const SIZE: usize> Buffer for ArrayVec<u8, SIZE>

Source§

fn bytes(&self) -> &[u8]

Source§

fn len(&self) -> usize

Source§

fn read_bytes_at( &self, offset: usize, length: usize, ) -> Result<&[u8], BufferError>

Source§

impl<const SIZE: usize> Buffer for Vec<u8, SIZE>

Source§

fn bytes(&self) -> &[u8]

Source§

fn len(&self) -> usize

Source§

fn read_bytes_at( &self, offset: usize, length: usize, ) -> Result<&[u8], BufferError>

Implementors§