Encoder

Trait Encoder 

Source
pub trait Encoder {
    type Item<'a>;
    type Error: From<Error>;

    // Required method
    fn encode(
        &mut self,
        item: Self::Item<'_>,
        dst: &mut BytesMut,
    ) -> Result<(), Self::Error>;
}
Expand description

Encoding of messages as bytes, for use with FramedWrite.

Required Associated Types§

Source

type Item<'a>

The type of items consumed by encode

Source

type Error: From<Error>

The type of encoding errors.

Required Methods§

Source

fn encode( &mut self, item: Self::Item<'_>, dst: &mut BytesMut, ) -> Result<(), Self::Error>

Encodes an item into the BytesMut provided by dst.

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 Encoder for Uvi<u8>

Source§

type Item<'a> = u8

Source§

type Error = Error

Source§

fn encode( &mut self, item: <Uvi<u8> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <Uvi<u8> as Encoder>::Error>

Source§

impl Encoder for Uvi<u16>

Source§

type Item<'a> = u16

Source§

type Error = Error

Source§

fn encode( &mut self, item: <Uvi<u16> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <Uvi<u16> as Encoder>::Error>

Source§

impl Encoder for Uvi<u32>

Source§

type Item<'a> = u32

Source§

type Error = Error

Source§

fn encode( &mut self, item: <Uvi<u32> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <Uvi<u32> as Encoder>::Error>

Source§

impl Encoder for Uvi<u64>

Source§

type Item<'a> = u64

Source§

type Error = Error

Source§

fn encode( &mut self, item: <Uvi<u64> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <Uvi<u64> as Encoder>::Error>

Source§

impl Encoder for Uvi<u128>

Source§

type Item<'a> = u128

Source§

type Error = Error

Source§

fn encode( &mut self, item: <Uvi<u128> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <Uvi<u128> as Encoder>::Error>

Source§

impl Encoder for Uvi<usize>

Source§

type Item<'a> = usize

Source§

type Error = Error

Source§

fn encode( &mut self, item: <Uvi<usize> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <Uvi<usize> as Encoder>::Error>

Source§

impl<T> Encoder for UviBytes<T>
where T: Buf,

Source§

type Item<'a> = T

Source§

type Error = Error

Source§

fn encode( &mut self, item: <UviBytes<T> as Encoder>::Item<'_>, dst: &mut BytesMut, ) -> Result<(), <UviBytes<T> as Encoder>::Error>

Implementors§

Source§

impl Encoder for BytesCodec

Source§

impl Encoder for LengthCodec

Source§

impl Encoder for LinesCodec

Source§

impl<M> Encoder for JsonUviCodec<M>
where M: Serialize,

Source§

type Item<'a> = M

Source§

type Error = Error

Source§

impl<M> Encoder for ProtobufUviCodec<M>
where M: Message,

Source§

type Item<'a> = M

Source§

type Error = Error

Source§

impl<TEncoder, TDecoder> Encoder for CombinedCodec<TEncoder, TDecoder>
where TEncoder: Encoder, TDecoder: Decoder,

Source§

type Item<'a> = <TEncoder as Encoder>::Item<'a>

Source§

type Error = <TEncoder as Encoder>::Error