[−][src]Struct bastion::path::BastionPath
Represents a Path for a System, Supervisor, Children or Child.
BastionPath can be used to identify message senders. Later it will be used to route messages to a path.
Example
ctx.tell(&ctx.signature(), "Hello to myself").expect("Couldn't send a message"); msg! { ctx.recv().await?, ref msg: &'static str => { let path: &BastionPath = signature!().path(); assert_eq!(path.elem(), ctx.signature().path().elem()); }; // We are only sending a `&'static str` in this // example, so we know that this won't happen... _: _ => (); }
Implementations
impl BastionPath
[src]
pub fn id(&self) -> &BastionId
[src]
Returns the last element's id. If it's root or a dead_letters then &NIL_ID is returned.
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_eq!(path.id(), &NIL_ID); }; // We are only sending a `&'static str` in this // example, so we know that this won't happen... _: _ => (); }
pub fn elem(&self) -> &Option<BastionPathElement>
[src]
Returns a path element. If the path is root then None is returned.
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.elem().as_ref().unwrap().is_children()); }; // We are only sending a `&'static str` in this // example, so we know that this won't happen... _: _ => (); }
pub fn is_dead_letters(&self) -> bool
[src]
Checks whether BastionPath
is a dead-letters path.
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
impl Clone for BastionPath
[src]
fn clone(&self) -> BastionPath
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for BastionPath
[src]
impl Display for BastionPath
[src]
Auto Trait Implementations
impl RefUnwindSafe for BastionPath
impl Send for BastionPath
impl Sync for BastionPath
impl Unpin for BastionPath
impl UnwindSafe for BastionPath
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsAny for T where
T: Any,
[src]
T: Any,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Message for T where
T: Any + Send + Sync + Debug,
[src]
T: Any + Send + Sync + Debug,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> State for T where
T: Send + Sync + 'static,
[src]
T: Send + Sync + 'static,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,