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
WriteBufferfor output, which will support uninitialized buffer.
Required Methods§
Sourcefn reinit(&mut self) -> Result<()>
fn reinit(&mut self) -> Result<()>
Reinitializes this decoder ready to decode a new member/frame of data.
Sourcefn decode(
&mut self,
input: &mut PartialBuffer<&[u8]>,
output: &mut WriteBuffer<'_>,
) -> Result<bool>
fn decode( &mut self, input: &mut PartialBuffer<&[u8]>, output: &mut WriteBuffer<'_>, ) -> Result<bool>
Returns whether the end of the stream has been read
Sourcefn flush(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>
fn flush(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>
Returns whether the internal buffers are flushed
Sourcefn finish(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>
fn finish(&mut self, output: &mut WriteBuffer<'_>) -> Result<bool>
Returns whether the internal buffers are flushed