DecodeV2

Trait DecodeV2 

Source
pub trait DecodeV2 {
    // Required methods
    fn reinit(&mut self) -> Result<()>;
    fn decode(
        &mut self,
        input: &mut PartialBuffer<&[u8]>,
        output: &mut WriteBuffer<'_>,
    ) -> Result<bool>;
    fn flush(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>;
    fn finish(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>;
}
Expand description

version 2 Decode that is trait object safe.

The different from Decode is that:

  • It doesn’t have any generic in it, so it is trait object safe
  • It uses WriteBuffer for output, which will support uninitialized buffer.

Required Methods§

Source

fn reinit(&mut self) -> Result<()>

Reinitializes this decoder ready to decode a new member/frame of data.

Source

fn decode( &mut self, input: &mut PartialBuffer<&[u8]>, output: &mut WriteBuffer<'_>, ) -> Result<bool>

Returns whether the end of the stream has been read

Source

fn flush(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>

Returns whether the internal buffers are flushed

Source

fn finish(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>

Returns whether the internal buffers are flushed

Implementors§