Decoder

Trait Decoder 

Source
pub trait Decoder {
    type Item;
    type Error: From<Error>;

    // Required method
    fn decode(
        &mut self,
        src: &mut BytesMut,
    ) -> Result<Option<Self::Item>, Self::Error>;

    // Provided method
    fn decode_eof(
        &mut self,
        src: &mut BytesMut,
    ) -> Result<Option<Self::Item>, Self::Error> { ... }
}
Expand description

Decoding of frames via buffers, for use with FramedRead.

Required Associated Types§

Source

type Item

The type of items returned by decode

Source

type Error: From<Error>

The type of decoding errors.

Required Methods§

Source

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>

Decode an item from the src BytesMut into an item

Provided Methods§

Source

fn decode_eof( &mut self, src: &mut BytesMut, ) -> Result<Option<Self::Item>, Self::Error>

Called when the input stream reaches EOF, signaling a last attempt to decode

§Notes

The default implementation of this method invokes the Decoder::decode method.

Implementations on Foreign Types§

Source§

impl Decoder for Uvi<u8>

Source§

type Item = u8

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<Uvi<u8> as Decoder>::Item>, <Uvi<u8> as Decoder>::Error>

Source§

impl Decoder for Uvi<u16>

Source§

type Item = u16

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<Uvi<u16> as Decoder>::Item>, <Uvi<u16> as Decoder>::Error>

Source§

impl Decoder for Uvi<u32>

Source§

type Item = u32

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<Uvi<u32> as Decoder>::Item>, <Uvi<u32> as Decoder>::Error>

Source§

impl Decoder for Uvi<u64>

Source§

type Item = u64

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<Uvi<u64> as Decoder>::Item>, <Uvi<u64> as Decoder>::Error>

Source§

impl Decoder for Uvi<u128>

Source§

type Item = u128

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<Uvi<u128> as Decoder>::Item>, <Uvi<u128> as Decoder>::Error>

Source§

impl Decoder for Uvi<usize>

Source§

type Item = usize

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<Uvi<usize> as Decoder>::Item>, <Uvi<usize> as Decoder>::Error>

Source§

impl<T> Decoder for UviBytes<T>

Source§

type Item = BytesMut

Source§

type Error = Error

Source§

fn decode( &mut self, src: &mut BytesMut, ) -> Result<Option<<UviBytes<T> as Decoder>::Item>, <UviBytes<T> as Decoder>::Error>

Implementors§