[][src]Struct riker::actor::ActorSelection

pub struct ActorSelection<Msg: Message> { /* fields omitted */ }

A selection represents part of the actor heirarchy, allowing messages to be sent to all actors in the selection.

There are several use cases where you would interact with actors via a selection instead of actor references:

  • You know the path of an actor but you don't have its ActorRef
  • You want to broadcast a message to all actors within a path

ActorRef is almost always the better choice for actor interaction, since messages are directly sent to the actor's mailbox without any preprocessing or cloning.

ActorSelection provides flexibility for the cases where at runtime the ActorRefs can't be known. This comes at the cost of traversing part of the actor heirarchy and cloning messages.

A selection is anchored to an ActorRef and the path is relative to that actor's path.

If a selection.tell results in the message being sent to zero actors, the message is sent to dead letters.


impl<Msg: Message> ActorSelection<Msg>[src]

pub fn new(
    anchor: ActorRef<Msg>,
    dl: &ActorRef<Msg>,
    path: String
) -> Result<ActorSelection<Msg>, InvalidPath>

Trait Implementations

impl<Msg: Message> Tell for ActorSelection<Msg>[src]

type Msg = Msg

impl<Msg: Message> SysTell for ActorSelection<Msg>[src]

type Msg = Msg

impl<Msg: Debug + Message> Debug for ActorSelection<Msg>[src]

Auto Trait Implementations

impl<Msg> Send for ActorSelection<Msg>

impl<Msg> Sync for ActorSelection<Msg>

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> BorrowMut for T where
    T: ?Sized

impl<T, U> TryInto for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.