#[non_exhaustive]pub enum MessageTarget {
Process(Pid),
Topic(String),
Broadcast,
Service(String),
ServiceMethod {
service: String,
method: String,
},
Kernel,
RemoteNode {
node_id: String,
target: Box<MessageTarget>,
},
}Expand description
Target for a kernel message.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Process(Pid)
Send to a specific process by PID.
Topic(String)
Publish to a named topic (all subscribers receive).
Broadcast
Broadcast to all processes.
Service(String)
Send to a named service (routed via ServiceRegistry).
ServiceMethod
Send to a specific method on a named service (D19, K2.1).
The router resolves the service via ServiceRegistry and wraps the payload with method metadata for the receiving agent.
Kernel
Send to the kernel itself.
RemoteNode
Route to a specific process on a remote node (K6). The inner target is resolved on the destination node.
Fields
§
target: Box<MessageTarget>Target to resolve on the remote node.
Trait Implementations§
Source§impl Clone for MessageTarget
impl Clone for MessageTarget
Source§fn clone(&self) -> MessageTarget
fn clone(&self) -> MessageTarget
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 MessageTarget
impl Debug for MessageTarget
Source§impl<'de> Deserialize<'de> for MessageTarget
impl<'de> Deserialize<'de> for MessageTarget
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
Auto Trait Implementations§
impl Freeze for MessageTarget
impl RefUnwindSafe for MessageTarget
impl Send for MessageTarget
impl Sync for MessageTarget
impl Unpin for MessageTarget
impl UnsafeUnpin for MessageTarget
impl UnwindSafe for MessageTarget
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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