Trait Encode

Source
pub trait Encode {
    // Required methods
    fn encode_by_ref<A>(
        &self,
        buf: &mut BytesMut,
        encoder: &mut A,
    ) -> Result<(), <A as Encoder>::Error>
       where A: Encoder;
    fn bytes_count(&self) -> usize;

    // Provided method
    fn encode<A>(
        self,
        buf: &mut BytesMut,
        encoder: &mut A,
    ) -> Result<(), <A as Encoder>::Error>
       where A: Encoder,
             Self: Sized { ... }
}

Required Methods§

Source

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

encode by references

Source

fn bytes_count(&self) -> usize

be careful to calculate the number of bytes

Provided Methods§

Source

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, Self: Sized,

encode by moved values

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 Encode for &[u8]

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, _encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for bool

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, bool: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for f32

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, f32: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for f64

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, f64: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for i8

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, i8: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for i16

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, i16: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for i32

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, i32: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for i64

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, i64: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for i128

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, i128: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for u8

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, u8: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for u16

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, u16: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for u32

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, u32: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for u64

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, u64: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for u128

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, u128: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for ()

Source§

fn encode_by_ref<A>( &self, _buf: &mut BytesMut, _encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, (): Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for Bytes

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, _encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for SocketAddr

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, _encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl Encode for EncapsulationHeader

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl<P> Encode for ForwardCloseRequest<P>
where P: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl<P, D> Encode for MessageRequest<P, D>
where P: Encode, D: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, MessageRequest<P, D>: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0> Encode for (T0,)
where T0: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, (T0,): Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, (T0,): Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1> Encode for (T0, T1)
where T0: Encode, T1: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, (T0, T1): Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, (T0, T1): Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2> Encode for (T0, T1, T2)
where T0: Encode, T1: Encode, T2: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3> Encode for (T0, T1, T2, T3)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4> Encode for (T0, T1, T2, T3, T4)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5> Encode for (T0, T1, T2, T3, T4, T5)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6> Encode for (T0, T1, T2, T3, T4, T5, T6)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Encode for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn bytes_count(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode, T10: Encode,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode, T10: Encode, T11: Encode,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode, T10: Encode, T11: Encode, T12: Encode,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode, T10: Encode, T11: Encode, T12: Encode, T13: Encode,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode, T10: Encode, T11: Encode, T12: Encode, T13: Encode, T14: Encode,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode, T10: Encode, T11: Encode, T12: Encode, T13: Encode, T14: Encode, T15: Encode,

Source§

impl<T> Encode for Option<T>
where T: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, Option<T>: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, Option<T>: Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for &T
where T: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, &T: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, &T: Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for Rc<T>
where T: Encode,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for Arc<T>
where T: Encode,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for Vec<T>
where T: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, Vec<T>: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, Vec<T>: Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for PhantomData<T>
where T: Encode,

Source§

fn encode_by_ref<A>( &self, _buf: &mut BytesMut, _encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, PhantomData<T>: Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for EncapsulationPacket<T>
where T: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T> Encode for SmallVec<T>
where T: Array, <T as Array>::Item: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, SmallVec<T>: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, SmallVec<T>: Sized,

Source§

fn bytes_count(&self) -> usize

Source§

impl<T, const N: usize> Encode for [T; N]
where T: Encode,

Source§

fn encode<A>( self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, [T; N]: Sized,

Source§

fn encode_by_ref<A>( &self, buf: &mut BytesMut, encoder: &mut A, ) -> Result<(), <A as Encoder>::Error>
where A: Encoder, [T; N]: Sized,

Source§

fn bytes_count(&self) -> usize

Implementors§