Trait timely::container::flatcontainer::impls::codec::Codec

source ·
pub trait Codec: Default + 'static {
    // Required methods
    fn decode<'a>(&'a self, bytes: &'a [u8]) -> &'a [u8] ;
    fn encode<R>(
        &mut self,
        bytes: &[u8],
        output: &mut R
    ) -> <R as Region>::Index
       where R: Region,
             &'a [u8]: for<'a> CopyOnto<R>;
    fn new_from<'a, I>(stats: I) -> Self
       where I: Iterator<Item = &'a Self> + Clone;
    fn heap_size<F>(&self, callback: F)
       where F: FnMut(usize, usize);

    // Provided method
    fn report(&self) { ... }
}
Expand description

Encode and decode byte strings.

Required Methods§

source

fn decode<'a>(&'a self, bytes: &'a [u8]) -> &'a [u8]

Decodes an input byte slice into a sequence of byte slices.

source

fn encode<R>(&mut self, bytes: &[u8], output: &mut R) -> <R as Region>::Index
where R: Region, &'a [u8]: for<'a> CopyOnto<R>,

Encodes a sequence of byte slices into an output byte slice.

source

fn new_from<'a, I>(stats: I) -> Self
where I: Iterator<Item = &'a Self> + Clone,

Constructs a new instance of Self from accumulated statistics. These statistics should cover the data the output expects to see.

source

fn heap_size<F>(&self, callback: F)
where F: FnMut(usize, usize),

Heap size, size - capacity

Provided Methods§

source

fn report(&self)

Diagnostic information about the state of the codec.

Object Safety§

This trait is not object safe.

Implementors§