Trait Decoder

Source
pub trait Decoder: Sized + Default {
    // Required method
    fn decode<T>(&mut self, src: &mut T, version: Version) -> Result<(), Error>
       where T: Buf;

    // Provided method
    fn decode_from<T>(src: &mut T, version: Version) -> Result<Self, Error>
       where T: Buf,
             Self: Default { ... }
}

Required Methods§

Source

fn decode<T>(&mut self, src: &mut T, version: Version) -> Result<(), Error>
where T: Buf,

Provided Methods§

Source

fn decode_from<T>(src: &mut T, version: Version) -> Result<Self, Error>
where T: Buf, Self: Default,

decode Kafka compliant protocol values from buf

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Decoder for Option<u16>

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for Option<String>

Source§

fn decode<T>(&mut self, src: &mut T, version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for bool

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for i8

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for i16

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for i32

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for i64

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for u8

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for u16

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for u32

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for String

Source§

fn decode<T>(&mut self, src: &mut T, _version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl Decoder for Vec<u8>

Source§

fn decode<T>(&mut self, src: &mut T, version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl<K, V> Decoder for BTreeMap<K, V>
where K: Decoder + Ord, V: Decoder,

Source§

fn decode<T>(&mut self, src: &mut T, version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl<M> Decoder for Option<Vec<M>>
where M: Default + Decoder,

Source§

fn decode<T>(&mut self, src: &mut T, version: Version) -> Result<(), Error>
where T: Buf,

Source§

impl<M> Decoder for Option<M>
where M: Default + Decoder,

Source§

default fn decode<T>( &mut self, src: &mut T, version: Version, ) -> Result<(), Error>
where T: Buf,

Source§

impl<M> Decoder for Vec<M>
where M: Default + Decoder,

Source§

default fn decode<T>( &mut self, src: &mut T, version: Version, ) -> Result<(), Error>
where T: Buf,

Source§

impl<M> Decoder for PhantomData<M>
where M: Default + Decoder,

Source§

default fn decode<T>( &mut self, _src: &mut T, _version: Version, ) -> Result<(), Error>
where T: Buf,

Implementors§