Skip to main content

Encode

Trait Encode 

Source
pub trait Encode {
    // Required methods
    fn encoded_len(&self) -> usize;
    fn encode(
        &self,
        buf: &mut BytesMut,
        ctx: Option<&dyn EncodeContext>,
    ) -> Result<(), EncodeError>;

    // Provided method
    fn encode_to_bytes(
        &self,
        ctx: Option<&dyn EncodeContext>,
    ) -> Result<Bytes, EncodeError> { ... }
}
Available on crate feature ipc only.
Expand description

Describes how to encode a message.

Required Methods§

Source

fn encoded_len(&self) -> usize

Returns the number of bytes this message will encode to.

Source

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Encodes the message into the provided buffer.

The buffer must have at least self.encoded_len() bytes of capacity. If not, the encoding may or may not fail with an error, depending on the implementation.

Provided Methods§

Source

fn encode_to_bytes( &self, ctx: Option<&dyn EncodeContext>, ) -> Result<Bytes, EncodeError>

Encodes the message into a freshly allocated Bytes.

Implementations on Foreign Types§

Source§

impl Encode for bool

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for f32

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for f64

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for i8

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for i16

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for i32

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for i64

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for isize

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for u8

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for u16

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for u32

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for u64

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for ()

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for usize

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for String

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<bool>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<f32>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<f64>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<i8>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<i16>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<i32>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<i64>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<isize>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<u8>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<u16>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<u32>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<u64>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for Vec<usize>

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl Encode for IpcMessage

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

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 encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

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 encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

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 encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

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 encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

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 encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

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§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

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

Source§

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

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encoded_len(&self) -> usize

Source§

fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>

Source§

impl<T, E> Encode for Result<T, E>
where T: Encode, E: Display,

Implementors§