pub trait Encode {
const ID: u64 = 0;
// Required methods
fn encoded_len(&self) -> usize;
fn encode(
&self,
buf: &mut BytesMut,
ctx: Option<&EncodeContext>,
) -> Result<(), EncodeError>;
// Provided method
fn encode_to_bytes(
&self,
ctx: Option<&EncodeContext>,
) -> Result<Bytes, EncodeError> { ... }
}Expand description
Describes how to encode a remote message.
Provided Associated Constants§
Sourceconst ID: u64 = 0
const ID: u64 = 0
Message identifier. A remote message should have an unique identifier so the
Handler<RemoteMessage> can dispatch the message to the proper handler.
Here unique means that for one particular actor type, the messages that can be handled
by it must have unique identifiers, but two different actor can have messages share the
same identifier.
The identifier in Encode and Decode must be the same for the same message type.
The derived implementation of Handler<RemoteMessage> relies on this identifier to work
properly. If you do not use the derived implementation of Handler<RemoteMessage>, you
can ignore this requirement and just use the default value.
(u64::MAX - 255) ~ u64::MAX is reserved for internal use.
Required Methods§
Sourcefn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the number of bytes this value will encode to.
Sourcefn encode(
&self,
buf: &mut BytesMut,
ctx: Option<&EncodeContext>,
) -> Result<(), EncodeError>
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Encodes the value into the provided buffer.
Provided Methods§
Sourcefn encode_to_bytes(
&self,
ctx: Option<&EncodeContext>,
) -> Result<Bytes, EncodeError>
fn encode_to_bytes( &self, ctx: Option<&EncodeContext>, ) -> Result<Bytes, EncodeError>
Encodes the value into a freshly allocated Bytes.
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 CronSignal
impl Encode for CronSignal
Source§impl Encode for bool
Available on crate feature prost-codec only.
impl Encode for bool
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for f32
Available on crate feature prost-codec only.
impl Encode for f32
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for f64
Available on crate feature prost-codec only.
impl Encode for f64
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i8
Available on crate feature prost-codec only.
impl Encode for i8
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i16
Available on crate feature prost-codec only.
impl Encode for i16
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i32
Available on crate feature prost-codec only.
impl Encode for i32
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for i64
Available on crate feature prost-codec only.
impl Encode for i64
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for isize
Available on crate feature prost-codec only.
impl Encode for isize
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u8
Available on crate feature prost-codec only.
impl Encode for u8
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u16
Available on crate feature prost-codec only.
impl Encode for u16
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u32
Available on crate feature prost-codec only.
impl Encode for u32
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for u64
Available on crate feature prost-codec only.
impl Encode for u64
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for ()
Available on crate feature prost-codec only.
impl Encode for ()
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for usize
Available on crate feature prost-codec only.
impl Encode for usize
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for String
Available on crate feature prost-codec only.
impl Encode for String
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<bool>
Available on crate feature prost-codec only.
impl Encode for Vec<bool>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<f32>
Available on crate feature prost-codec only.
impl Encode for Vec<f32>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<f64>
Available on crate feature prost-codec only.
impl Encode for Vec<f64>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i8>
Available on crate feature prost-codec only.
impl Encode for Vec<i8>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i16>
Available on crate feature prost-codec only.
impl Encode for Vec<i16>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i32>
Available on crate feature prost-codec only.
impl Encode for Vec<i32>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<i64>
Available on crate feature prost-codec only.
impl Encode for Vec<i64>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<isize>
Available on crate feature prost-codec only.
impl Encode for Vec<isize>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u8>
Available on crate feature prost-codec only.
impl Encode for Vec<u8>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u16>
Available on crate feature prost-codec only.
impl Encode for Vec<u16>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u32>
Available on crate feature prost-codec only.
impl Encode for Vec<u32>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<u64>
Available on crate feature prost-codec only.
impl Encode for Vec<u64>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl Encode for Vec<usize>
Available on crate feature prost-codec only.
impl Encode for Vec<usize>
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, _ctx: Option<&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<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<A> Encode for SupervisionEvent<A>
impl<A> Encode for SupervisionEvent<A>
const ID: u64
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
fn encode_to_bytes( &self, ctx: Option<&EncodeContext>, ) -> Result<Bytes, EncodeError>
Source§impl<A> Encode for Supervisor<A>where
A: Actor,
impl<A> Encode for Supervisor<A>where
A: Actor,
Source§impl<A> Encode for Address<A>where
A: Actor,
impl<A> Encode for Address<A>where
A: Actor,
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<M> Encode for Recipient<M>where
M: Message,
impl<M> Encode for Recipient<M>where
M: Message,
fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1> Encode for (T0, T1)
Available on crate feature prost-codec only.
impl<T0, T1> Encode for (T0, T1)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2> Encode for (T0, T1, T2)
Available on crate feature prost-codec only.
impl<T0, T1, T2> Encode for (T0, T1, T2)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2, T3> Encode for (T0, T1, T2, T3)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3> Encode for (T0, T1, T2, T3)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2, T3, T4> Encode for (T0, T1, T2, T3, T4)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3, T4> Encode for (T0, T1, T2, T3, T4)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2, T3, T4, T5> Encode for (T0, T1, T2, T3, T4, T5)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3, T4, T5> Encode for (T0, T1, T2, T3, T4, T5)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2, T3, T4, T5, T6> Encode for (T0, T1, T2, T3, T4, T5, T6)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3, T4, T5, T6> Encode for (T0, T1, T2, T3, T4, T5, T6)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&EncodeContext>, ) -> Result<(), EncodeError>
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> Encode for (T0, T1, T2, T3, T4, T5, T6, T7)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3, T4, T5, T6, T7> Encode for (T0, T1, T2, T3, T4, T5, T6, T7)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&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)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
prost-codec only.fn encoded_len(&self) -> usize
fn encode( &self, buf: &mut BytesMut, ctx: Option<&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)
Available on crate feature prost-codec only.
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
prost-codec only.