Trait flex_dns::buffer::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.

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<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<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<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<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§