Trait flex_dns::Buffer

source ·
pub trait Buffer {
    // Required methods
    fn bytes(&self) -> &[u8];
    fn len(&self) -> usize;
    fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>;
    fn write_array_at<const BYTES: usize>(
        &mut self,
        offset: usize,
        data: [u8; BYTES]
    ) -> Result<(), BufferError>;
    fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>;
    fn write_array<const BYTES: usize>(
        &mut self,
        data: [u8; BYTES]
    ) -> Result<(), BufferError>;
    fn read_bytes_at(
        &self,
        offset: usize,
        length: usize
    ) -> Result<&[u8], BufferError>;
    fn read_bytes_at_mut(
        &mut self,
        offset: usize,
        length: usize
    ) -> Result<&mut [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 truncate(&mut self, new_len: usize) -> Result<(), BufferError>

Truncates the buffer to the given length.

source

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES] ) -> Result<(), BufferError>

Writes the given data at the given offset.

source

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

Writes the given data at the end of the buffer.

source

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES] ) -> Result<(), BufferError>

Writes the given data at the end of 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.

source

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

Reads a given number of bytes at the given offset.

Implementations on Foreign Types§

source§

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

source§

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

source§

fn len(&self) -> usize

source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

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

source§

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

source§

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

source§

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

source§

fn len(&self) -> usize

source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

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

source§

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

source§

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

source§

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

source§

fn len(&self) -> usize

source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

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

source§

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

source§

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

source§

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

source§

fn len(&self) -> usize

source§

fn truncate(&mut self, new_len: usize) -> Result<(), BufferError>

source§

fn write_array_at<const BYTES: usize>( &mut self, offset: usize, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

fn write_bytes(&mut self, data: &[u8]) -> Result<(), BufferError>

source§

fn write_array<const BYTES: usize>( &mut self, data: [u8; BYTES] ) -> Result<(), BufferError>

source§

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

source§

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

Implementors§