acton_core::prelude

Struct AgentHandle

Source
pub struct AgentHandle {
    pub parent: Option<Box<AgentHandle>>,
    pub broker: Box<Option<AgentHandle>>,
    /* private fields */
}
Expand description

Represents the context in which an actor operates.

Fields§

§parent: Option<Box<AgentHandle>>

The actor’s optional parent context.

§broker: Box<Option<AgentHandle>>

The system broker for the actor.

Implementations§

Source§

impl AgentHandle

Source

pub async fn supervise<State: Default + Send + Debug>( &self, child: ManagedAgent<Idle, State>, ) -> Result<AgentHandle>

Supervises a child actor by activating it and tracking its context.

This asynchronous method adds a child actor to the supervision hierarchy managed by this ActorRef. It performs the following steps:

  1. Logs the addition of the child actor with its unique identifier (ern).
  2. Activates the child actor by calling its activate method asynchronously.
  3. Retrieves the ern (unique identifier) from the child’s context.
  4. Inserts the child’s context into the children map of the supervising actor, using the ern as the key.
§Type Parameters
  • State: Represents the state type associated with the child actor. It must implement the Default, Send, and Debug traits.
§Parameters
  • child: A ManagedAgent instance representing the child actor to be supervised.
§Returns

A Result which is:

  • Ok(()) if the child actor was successfully supervised and added to the supervision hierarchy.
  • An error of type anyhow::Error if any step of the supervision process fails.
§Errors

This method will return an error if:

  • The child actor fails to activate.
  • Inserting the child context into the children map fails.

Trait Implementations§

Source§

impl Actor for AgentHandle

Source§

fn reply_address(&self) -> MessageAddress

Returns the message address for this agent.

Source§

fn create_envelope( &self, recipient_address: Option<MessageAddress>, ) -> OutboundEnvelope

Returns an envelope for the specified recipient and message, ready to send.

Source§

fn tracker(&self) -> TaskTracker

Returns the task tracker for the actor.

Source§

fn stop(&self) -> impl Future<Output = Result<()>> + Send + Sync + '_

Suspends the actor.

Source§

fn children(&self) -> DashMap<String, AgentHandle>

Returns a map of the actor’s children.
Source§

fn find_child(&self, arn: &Ern) -> Option<AgentHandle>

Finds a child actor by its ERN. Read more
Source§

fn id(&self) -> Ern

Returns the actor’s ERN.
Source§

fn name(&self) -> String

Returns the actor’s root from the ERN.
Source§

fn clone_ref(&self) -> AgentHandle

Creates a clone of the actor’s reference.
Source§

fn send( &self, message: impl ActonMessage, ) -> impl Future<Output = ()> + Send + Sync + '_
where Self: Sync,

Emits a message from the actor, possibly to a pool item. Read more
Source§

fn send_sync( &self, message: impl ActonMessage, recipient: &AgentHandle, ) -> Result<()>
where Self: Actor,

Send a message synchronously.
Source§

impl Broker for AgentHandle

Source§

fn broadcast( &self, message: impl ActonMessage, ) -> impl Future<Output = ()> + Send + Sync + '_

Broadcast a message from the broker.
Source§

fn broadcast_sync(&self, message: impl ActonMessage) -> Result<()>
where Self: Actor,

Broadcast a message from the broker synchronously.
Source§

impl Clone for AgentHandle

Source§

fn clone(&self) -> AgentHandle

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AgentHandle

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for AgentHandle

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Hash for AgentHandle

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for AgentHandle

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Subscriber for AgentHandle

Source§

fn get_broker(&self) -> Option<AgentHandle>

Retrieves the broker associated with this subscriber. Read more
Source§

impl Eq for AgentHandle

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> ActonMessage for T
where T: Any + Send + Sync + Debug + DynClone + 'static,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Returns a reference to the message as Any.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Returns a mutable reference to the message as Any.
Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Subscribable for T
where T: ActonMessage + Send + Sync + 'static,

Source§

fn subscribe<M>(&self) -> impl Future<Output = ()> + Send + Sync
where M: ActonMessage + Send + Sync + 'static, T: Actor + Subscriber + 'static,

Subscribes the implementing type to messages of type T. Read more
Source§

fn unsubscribe<M>(&self)
where M: ActonMessage, T: Actor + Subscriber,

Unsubscribes the implementing type from messages of type T. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more