pub enum StatusMessage {
GetStatus {
reply: OncePortRef<Option<ActorStatus>>,
delivery: Option<(Uuid, EndpointId, OncePortRef<DeliveryProgressResponse>)>,
},
SubscribeTerminal {
subscription_id: Uuid,
subscriber: PortRef<Option<ActorStatus>>,
},
UnsubscribeTerminal {
subscription_id: Uuid,
},
}Expand description
Actor status control-plane message.
Variants§
GetStatus
Return the destination actor’s current or tombstoned status.
Fields
reply: OncePortRef<Option<ActorStatus>>Reply port receiving None for an unknown actor and
Some(status) for a known actor.
delivery: Option<(Uuid, EndpointId, OncePortRef<DeliveryProgressResponse>)>Optional sender session, destination, and reply port for delivery progress.
SubscribeTerminal
Best-effort notification to subscriber when the destination actor
reaches a terminal status. An actor that is already terminal or unknown
replies immediately.
Status messages are not ordered, so a subscription and its
cancellation may arrive in either order. Cancellation wins: a
subscription whose StatusMessage::UnsubscribeTerminal has already
arrived is never activated. Use a fresh subscription_id for each
subscription, and send each message once.
Fields
subscriber: PortRef<Option<ActorStatus>>Port receiving None for an unknown actor and Some(status) for a
known actor. The subscription is removed before notification.
UnsubscribeTerminal
Cancel the terminal-status subscription with subscription_id, even if
its StatusMessage::SubscribeTerminal has not arrived yet.
Trait Implementations§
Source§impl Clone for StatusMessage
impl Clone for StatusMessage
Source§fn clone(&self) -> StatusMessage
fn clone(&self) -> StatusMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StatusMessage
impl Debug for StatusMessage
Source§impl<'de> Deserialize<'de> for StatusMessage
impl<'de> Deserialize<'de> for StatusMessage
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>,
Source§impl Named for StatusMessage
impl Named for StatusMessage
Source§fn typename() -> &'static str
fn typename() -> &'static str
Source§fn typehash() -> u64
fn typehash() -> u64
Source§fn arm(&self) -> Option<&'static str>
fn arm(&self) -> Option<&'static str>
Source§impl PartialEq for StatusMessage
impl PartialEq for StatusMessage
Source§fn eq(&self, other: &StatusMessage) -> bool
fn eq(&self, other: &StatusMessage) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for StatusMessage
impl Serialize for StatusMessage
impl StructuralPartialEq for StatusMessage
Auto Trait Implementations§
impl !Freeze for StatusMessage
impl RefUnwindSafe for StatusMessage
impl Send for StatusMessage
impl Sync for StatusMessage
impl Unpin for StatusMessage
impl UnsafeUnpin for StatusMessage
impl UnwindSafe for StatusMessage
Blanket Implementations§
impl<M> Accepts<M> for Mwhere
M: RemoteMessage,
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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>
§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>
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>
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].