Skip to main content

Encode

Trait Encode 

Source
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§

Source

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§

Source

fn encoded_len(&self) -> usize

Returns the number of bytes this value will encode to.

Source

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

Encodes the value into the provided buffer.

Provided Methods§

Source

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

Source§

const ID: u64

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Signal

Source§

const ID: u64 = u64::MAX

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for bool

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for f32

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for f64

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for i8

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for i16

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for i32

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for i64

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for isize

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for u8

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for u16

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for u32

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for u64

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for ()

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for usize

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for String

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<bool>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<f32>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<f64>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<i8>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<i16>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<i32>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<i64>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<isize>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<u8>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<u16>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<u32>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<u64>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for Vec<usize>

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl Encode for IpcMessage

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl<A> Encode for SupervisionEvent<A>
where A: Actor, A::Error: Display,

Source§

impl<A> Encode for Supervisor<A>
where A: Actor,

Source§

const ID: u64

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl<A> Encode for Address<A>
where A: Actor,

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Source§

const ID: u64

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

impl<M> Encode for Recipient<M>
where M: Message,

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode,

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode,

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode,

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode,

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode,

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode,

Available on crate feature prost-codec only.
Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Source§

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

Source§

const ID: u64 = T::ID

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Source§

const ID: u64 = T::ID

Source§

fn encoded_len(&self) -> usize

Source§

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

Source§

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

Implementors§