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> { ... }
}
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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

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 IpcMessage

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 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 usize

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<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> 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> 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> 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> 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> 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> 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> 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<T, E> Encode for Result<T, E>
where T: Encode, E: Display,

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> 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 Option<T>
where T: Encode,

Implementors§

Source§

impl Encode for CronSignal

Available on crate feature cron only.
Source§

impl Encode for Signal

Source§

impl<A> Encode for Address<A>

Source§

impl<A> Encode for SupervisionEvent<A>

Source§

impl<A> Encode for Supervisor<A>

Source§

impl<M> Encode for Observer<M>
where M: Message + MessageId + Encode, <M as Message>::Result: Decode,

Available on crate feature observer only.
Source§

impl<M> Encode for Recipient<M>
where M: Message + MessageId + Encode, <M as Message>::Result: Decode,