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§
Sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the number of bytes this message will encode to.
Sourcefn encode(
&self,
buf: &mut BytesMut,
ctx: Option<&dyn EncodeContext>,
) -> Result<(), EncodeError>
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§
Sourcefn encode_to_bytes(
&self,
ctx: Option<&dyn EncodeContext>,
) -> Result<Bytes, EncodeError>
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 ()
impl Encode for ()
fn encoded_len(&self) -> usize
fn encode( &self, _buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for IpcMessage
impl Encode for IpcMessage
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for String
impl Encode for String
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<bool>
impl Encode for Vec<bool>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<f32>
impl Encode for Vec<f32>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<f64>
impl Encode for Vec<f64>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i8>
impl Encode for Vec<i8>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i16>
impl Encode for Vec<i16>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i32>
impl Encode for Vec<i32>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i64>
impl Encode for Vec<i64>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<isize>
impl Encode for Vec<isize>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u8>
impl Encode for Vec<u8>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u16>
impl Encode for Vec<u16>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u32>
impl Encode for Vec<u32>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u64>
impl Encode for Vec<u64>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<usize>
impl Encode for Vec<usize>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for bool
impl Encode for bool
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for f32
impl Encode for f32
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for f64
impl Encode for f64
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i8
impl Encode for i8
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i16
impl Encode for i16
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i32
impl Encode for i32
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i64
impl Encode for i64
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for isize
impl Encode for isize
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u8
impl Encode for u8
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u16
impl Encode for u16
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u32
impl Encode for u32
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u64
impl Encode for u64
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for usize
impl Encode for usize
fn encoded_len(&self) -> usize
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)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
fn encoded_len(&self) -> usize
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)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
fn encoded_len(&self) -> usize
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)
impl<T0, T1, T2, T3, T4, T5, T6, T7> Encode for (T0, T1, T2, T3, T4, T5, T6, T7)
fn encoded_len(&self) -> usize
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)
impl<T0, T1, T2, T3, T4, T5, T6> Encode for (T0, T1, T2, T3, T4, T5, T6)
fn encoded_len(&self) -> usize
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)
impl<T0, T1, T2, T3, T4, T5> Encode for (T0, T1, T2, T3, T4, T5)
fn encoded_len(&self) -> usize
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)
impl<T0, T1, T2, T3, T4> Encode for (T0, T1, T2, T3, T4)
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2, T3> Encode for (T0, T1, T2, T3)
impl<T0, T1, T2, T3> Encode for (T0, T1, T2, T3)
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2> Encode for (T0, T1, T2)
impl<T0, T1, T2> Encode for (T0, T1, T2)
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1> Encode for (T0, T1)
impl<T0, T1> Encode for (T0, T1)
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T, E> Encode for Result<T, E>
impl<T, E> Encode for Result<T, E>
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
fn encode_to_bytes( &self, ctx: Option<&dyn EncodeContext>, ) -> Result<Bytes, EncodeError>
Source§impl<T> Encode for Arc<T>where
T: Encode,
impl<T> Encode for Arc<T>where
T: Encode,
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T> Encode for Box<T>where
T: Encode,
impl<T> Encode for Box<T>where
T: Encode,
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T> Encode for Option<T>where
T: Encode,
impl<T> Encode for Option<T>where
T: Encode,
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&dyn EncodeContext>, ) -> Result<(), EncodeError>
fn encode_to_bytes( &self, ctx: Option<&dyn EncodeContext>, ) -> Result<Bytes, EncodeError>
Implementors§
impl Encode for CronSignal
Available on crate feature
cron only.impl Encode for Signal
impl<A> Encode for Address<A>where
A: Actor + RemoteAddressable,
impl<A> Encode for SupervisionEvent<A>
impl<A> Encode for Supervisor<A>
impl<M> Encode for Observer<M>
Available on crate feature
observer only.