Struct bastion::envelope::RefAddr [−][src]
pub struct RefAddr { /* fields omitted */ }
Expand description
Message signature used to identify message sender and send messages to it.
Example
Bastion::children(|children| {
children.with_exec(|ctx: BastionContext| {
async move {
// Wait for a message to be received...
let msg: SignedMessage = ctx.recv().await?;
ctx.tell(msg.signature(), "reply").expect("Unable to reply");
Ok(())
}
})
}).expect("Couldn't create the children group.");
Implementations
Checks whether the sender is identified. Usually anonymous sender means messages sent by broadcast and it’s other methods implied to be called outside of the Bastion context.
Example
let msg = "A message containing data.";
children_ref.broadcast(msg).expect("Couldn't send the message.");
msg! { ctx.recv().await?,
ref msg: &'static str => {
assert!(signature!().is_sender_identified());
};
// We are only sending a `&'static str` in this
// example, so we know that this won't happen...
_: _ => ();
}
Returns BastionPath
of a sender
Example
let msg = "A message containing data.";
children_ref.broadcast(msg).expect("Couldn't send the message.");
msg! { ctx.recv().await?,
ref msg: &'static str => {
let path = signature!().path();
assert!(path.is_dead_letters());
};
// We are only sending a `&'static str` in this
// example, so we know that this won't happen...
_: _ => ();
}
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for RefAddr
impl !UnwindSafe for RefAddr
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more