Trait askar_crypto::buffer::ResizeBuffer[][src]

pub trait ResizeBuffer: WriteBuffer + AsRef<[u8]> + AsMut<[u8]> {
    fn buffer_insert(&mut self, pos: usize, data: &[u8]) -> Result<(), Error>;
fn buffer_remove(&mut self, range: Range<usize>) -> Result<(), Error>;
fn buffer_resize(&mut self, len: usize) -> Result<(), Error>; fn buffer_extend(&mut self, len: usize) -> Result<&mut [u8], Error> { ... } }
Expand description

Support for writing to, accessing, and resizing a byte buffer

Required methods

fn buffer_insert(&mut self, pos: usize, data: &[u8]) -> Result<(), Error>[src]

Expand description

Insert a slice at the given position in the buffer

fn buffer_remove(&mut self, range: Range<usize>) -> Result<(), Error>[src]

Expand description

Remove an exclusive range from the buffer

fn buffer_resize(&mut self, len: usize) -> Result<(), Error>[src]

Expand description

Resize the buffer, truncating or padding it with zeroes

Loading content...

Provided methods

fn buffer_extend(&mut self, len: usize) -> Result<&mut [u8], Error>[src]

Expand description

Extend the buffer with len bytes of zeroes and return a mutable reference to the slice

Loading content...

Implementations on Foreign Types

impl ResizeBuffer for Vec<u8>[src]

This is supported on crate feature alloc only.

fn buffer_insert(&mut self, pos: usize, data: &[u8]) -> Result<(), Error>[src]

fn buffer_remove(&mut self, range: Range<usize>) -> Result<(), Error>[src]

fn buffer_resize(&mut self, len: usize) -> Result<(), Error>[src]

Loading content...

Implementors

impl ResizeBuffer for SecretBytes[src]

fn buffer_insert(&mut self, pos: usize, data: &[u8]) -> Result<(), Error>[src]

fn buffer_remove(&mut self, range: Range<usize>) -> Result<(), Error>[src]

fn buffer_resize(&mut self, len: usize) -> Result<(), Error>[src]

impl ResizeBuffer for Writer<'_, [u8]>[src]

fn buffer_insert(&mut self, pos: usize, data: &[u8]) -> Result<(), Error>[src]

fn buffer_remove(&mut self, range: Range<usize>) -> Result<(), Error>[src]

fn buffer_resize(&mut self, len: usize) -> Result<(), Error>[src]

impl<B: ResizeBuffer + ?Sized> ResizeBuffer for Writer<'_, B>[src]

fn buffer_insert(&mut self, pos: usize, data: &[u8]) -> Result<(), Error>[src]

fn buffer_remove(&mut self, range: Range<usize>) -> Result<(), Error>[src]

fn buffer_resize(&mut self, len: usize) -> Result<(), Error>[src]

Loading content...