pub struct ActorStore { /* private fields */ }Expand description
Lookup structure for storing and retrieving DynActorRefs.
UUID-based references are stored in a HashMap, and path-based named references
are stored in a Trie structure.
§Notes
The sequence trie supports the use case of grouping many DynActorRef under the same path, similar to a directory structure. Thus, actors can broadcast to all actors under a certain path without requiring explicit identifiers for them.
Ex: Broadcasting a message to actors stored under the system path “tcp://127.0.0.1:8080/pongers/*” Ex: Selecting one of the actors stored under the system path “tcp://127.0.0.1:8080/pongers/?” for delivery
Implementations§
Source§impl ActorStore
impl ActorStore
Sourcepub fn new() -> ActorStore
pub fn new() -> ActorStore
Return a new, empty instance
Trait Implementations§
Source§impl ActorLookup for ActorStore
impl ActorLookup for ActorStore
Source§fn insert(
&mut self,
path: PathResolvable,
actor: DynActorRef,
) -> Result<InsertResult, PathParseError>
fn insert( &mut self, path: PathResolvable, actor: DynActorRef, ) -> Result<InsertResult, PathParseError>
Inserts or replaces the
path in the lookup structure. Read moreSource§fn set_routing_policy(
&mut self,
path: &[String],
policy: StorePolicy,
) -> Result<InsertResult, PathParseError>
fn set_routing_policy( &mut self, path: &[String], policy: StorePolicy, ) -> Result<InsertResult, PathParseError>
Set the routing policy at the provided place in the actor tree to be
policy Read moreSource§fn contains(&self, path: &PathResolvable) -> bool
fn contains(&self, path: &PathResolvable) -> bool
Returns true if the evaluated path is already stored.
Source§fn get_by_uuid(&self, id: &Uuid) -> Option<&DynActorRef>
fn get_by_uuid(&self, id: &Uuid) -> Option<&DynActorRef>
Lookup the
id in the storeSource§fn get_by_named_path<'a, 'b>(&'a self, path: &'b [String]) -> LookupResult<'a>
fn get_by_named_path<'a, 'b>(&'a self, path: &'b [String]) -> LookupResult<'a>
Lookup the
path in the storeSource§fn remove(&mut self, actor: DynActorRef) -> usize
fn remove(&mut self, actor: DynActorRef) -> usize
Removes all entries that point to the provided actor, returning how many were removed
(most likely O(n), subject to implementation details)
Source§fn remove_by_uuid(&mut self, id: &Uuid) -> bool
fn remove_by_uuid(&mut self, id: &Uuid) -> bool
Removes the value at the given key, returning
true if it existed.Source§fn remove_by_named_path(&mut self, path: &[String]) -> bool
fn remove_by_named_path(&mut self, path: &[String]) -> bool
Removes the value at the given key, returning
true if it existed.Source§fn cleanup(&mut self) -> usize
fn cleanup(&mut self) -> usize
Performs cleanup on this lookup table, returning how many entries were affected.
Source§fn get_by_actor_path<'a>(&'a self, path: &ActorPath) -> LookupResult<'a>
fn get_by_actor_path<'a>(&'a self, path: &ActorPath) -> LookupResult<'a>
Lookup the
path in the storeSource§impl Clone for ActorStore
impl Clone for ActorStore
Source§fn clone(&self) -> ActorStore
fn clone(&self) -> ActorStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for ActorStore
impl Default for ActorStore
Source§fn default() -> ActorStore
fn default() -> ActorStore
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ActorStore
impl !RefUnwindSafe for ActorStore
impl Send for ActorStore
impl Sync for ActorStore
impl Unpin for ActorStore
impl UnsafeUnpin for ActorStore
impl !UnwindSafe for ActorStore
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