pub struct MessageEnvelope { /* private fields */ }
Expand description
An envelope that carries a message destined to a remote actor. The envelope contains a serialized message along with its destination and sender.
Implementations§
Source§impl MessageEnvelope
impl MessageEnvelope
Sourcepub fn new(
sender: ActorId,
dest: PortId,
data: Serialized,
headers: Attrs,
) -> Self
pub fn new( sender: ActorId, dest: PortId, data: Serialized, headers: Attrs, ) -> Self
Create a new envelope with the provided sender, destination, and message.
Sourcepub fn serialize<T: Serialize + Named>(
source: ActorId,
dest: PortId,
value: &T,
headers: Attrs,
) -> Result<Self, Error>
pub fn serialize<T: Serialize + Named>( source: ActorId, dest: PortId, value: &T, headers: Attrs, ) -> Result<Self, Error>
Construct a new serialized value by serializing the provided T-typed value.
Sourcepub fn deserialized<T: DeserializeOwned>(&self) -> Result<T, Error>
pub fn deserialized<T: DeserializeOwned>(&self) -> Result<T, Error>
Deserialize the message in the envelope to the provided type T.
Sourcepub fn data(&self) -> &Serialized
pub fn data(&self) -> &Serialized
The serialized message.
Sourcepub fn try_set_error(&mut self, error: DeliveryError)
pub fn try_set_error(&mut self, error: DeliveryError)
Tries to sets a delivery error for the message. If the error is already set, nothing is updated.
Sourcepub fn undeliverable(
self,
error: DeliveryError,
return_handle: PortHandle<Undeliverable<MessageEnvelope>>,
)
pub fn undeliverable( self, error: DeliveryError, return_handle: PortHandle<Undeliverable<MessageEnvelope>>, )
The message has been determined to be undeliverable with the provided error. Mark the envelope with the error and return to sender.
Sourcepub fn error(&self) -> Option<&DeliveryError>
pub fn error(&self) -> Option<&DeliveryError>
Get the error of why this message was undeliverable. None means this message was not determined as undeliverable.
Trait Implementations§
Source§impl Clone for MessageEnvelope
impl Clone for MessageEnvelope
Source§fn clone(&self) -> MessageEnvelope
fn clone(&self) -> MessageEnvelope
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for MessageEnvelope
impl Debug for MessageEnvelope
Source§impl<'de> Deserialize<'de> for MessageEnvelope
impl<'de> Deserialize<'de> for MessageEnvelope
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for MessageEnvelope
impl Display for MessageEnvelope
Source§impl Named for MessageEnvelope
impl Named for MessageEnvelope
Source§fn typename() -> &'static str
fn typename() -> &'static str
The globally unique type name for the type.
This should typically be the fully qualified Rust name of the type.
Source§fn typehash() -> u64
fn typehash() -> u64
A globally unique hash for this type.
TODO: actually enforce perfect hashing
Source§fn typeid() -> TypeId
fn typeid() -> TypeId
The TypeId for this type. TypeIds are unique only within a binary,
and should not be used for global identification.
Source§fn port() -> u64
fn port() -> u64
The globally unique port for this type. Typed ports are in the range
of 1<<63..1<<64-1.
Auto Trait Implementations§
impl !Freeze for MessageEnvelope
impl !RefUnwindSafe for MessageEnvelope
impl Send for MessageEnvelope
impl Sync for MessageEnvelope
impl Unpin for MessageEnvelope
impl !UnwindSafe for MessageEnvelope
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Checkpointable for Twhere
T: RemoteMessage + Clone,
impl<T> Checkpointable for Twhere
T: RemoteMessage + Clone,
Source§type State = T
type State = T
The type of the state that is saved. The state can be serialized and deserialized
from persistent storage.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<A, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more