pub struct ReActActor;Expand description
ReAct Actor
Implementations§
Source§impl ReActActor
impl ReActActor
Trait Implementations§
Source§impl Actor for ReActActor
impl Actor for ReActActor
Source§type Msg = ReActMessage
type Msg = ReActMessage
The message type for this actor
Source§type State = ReActActorState
type State = ReActActorState
The type of state this actor manages internally
Source§type Arguments = (Arc<LLMAgent>, ReActConfig, Vec<Arc<dyn ReActTool>>)
type Arguments = (Arc<LLMAgent>, ReActConfig, Vec<Arc<dyn ReActTool>>)
Initialization arguments
Source§fn pre_start(
&self,
_myself: ActorRef<Self::Msg>,
args: Self::Arguments,
) -> impl Future<Output = Result<Self::State, ActorProcessingErr>> + Send
fn pre_start( &self, _myself: ActorRef<Self::Msg>, args: Self::Arguments, ) -> impl Future<Output = Result<Self::State, ActorProcessingErr>> + Send
Invoked when an actor is being started by the system. Read more
Source§fn handle(
&self,
myself: ActorRef<Self::Msg>,
message: Self::Msg,
state: &mut Self::State,
) -> impl Future<Output = Result<(), ActorProcessingErr>> + Send
fn handle( &self, myself: ActorRef<Self::Msg>, message: Self::Msg, state: &mut Self::State, ) -> impl Future<Output = Result<(), ActorProcessingErr>> + Send
Handle the incoming message from the event processing loop. Unhandled panickes will be
captured and sent to the supervisor(s) Read more
Source§fn post_start(
&self,
myself: ActorRef<Self::Msg>,
state: &mut Self::State,
) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send
fn post_start( &self, myself: ActorRef<Self::Msg>, state: &mut Self::State, ) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send
Invoked after an actor has started. Read more
Source§fn post_stop(
&self,
myself: ActorRef<Self::Msg>,
state: &mut Self::State,
) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send
fn post_stop( &self, myself: ActorRef<Self::Msg>, state: &mut Self::State, ) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send
Invoked after an actor has been stopped to perform final cleanup. In the
event the actor is terminated with Signal::Kill or has self-panicked,
post_stop won’t be called. Read moreSource§fn handle_supervisor_evt(
&self,
myself: ActorRef<Self::Msg>,
message: SupervisionEvent,
state: &mut Self::State,
) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send
fn handle_supervisor_evt( &self, myself: ActorRef<Self::Msg>, message: SupervisionEvent, state: &mut Self::State, ) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>> + Send
Handle the incoming supervision event. Unhandled panics will be captured and
sent the the supervisor(s). The default supervision behavior is to exit the
supervisor on any child exit. To override this behavior, implement this function. Read more
Auto Trait Implementations§
impl Freeze for ReActActor
impl RefUnwindSafe for ReActActor
impl Send for ReActActor
impl Sync for ReActActor
impl Unpin for ReActActor
impl UnsafeUnpin for ReActActor
impl UnwindSafe for ReActActor
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ThreadLocalActor for T
impl<T> ThreadLocalActor for T
Source§type State = <T as Actor>::State
type State = <T as Actor>::State
The type of state this actor manages internally. This type
has no bound requirements, and needs to neither be Send nor
Sync when used in a ThreadLocalActor context.
Source§type Arguments = <T as Actor>::Arguments
type Arguments = <T as Actor>::Arguments
Initialization arguments. These must be Send as they are
sent to the pinned thread in order to startup the actor.
However the actor’s local ThreadLocalActor::State does
NOT need to be Send and neither does the actor instance.
Source§async fn pre_start(
&self,
myself: ActorRef<<T as ThreadLocalActor>::Msg>,
args: <T as ThreadLocalActor>::Arguments,
) -> Result<<T as ThreadLocalActor>::State, Box<dyn Error + Send + Sync>>
async fn pre_start( &self, myself: ActorRef<<T as ThreadLocalActor>::Msg>, args: <T as ThreadLocalActor>::Arguments, ) -> Result<<T as ThreadLocalActor>::State, Box<dyn Error + Send + Sync>>
Invoked when an actor is being started by the system. Read more
Source§async fn post_start(
&self,
myself: ActorRef<<T as ThreadLocalActor>::Msg>,
state: &mut <T as ThreadLocalActor>::State,
) -> Result<(), Box<dyn Error + Send + Sync>>
async fn post_start( &self, myself: ActorRef<<T as ThreadLocalActor>::Msg>, state: &mut <T as ThreadLocalActor>::State, ) -> Result<(), Box<dyn Error + Send + Sync>>
Invoked after an actor has started. Read more
Source§async fn handle(
&self,
myself: ActorRef<<T as ThreadLocalActor>::Msg>,
message: <T as ThreadLocalActor>::Msg,
state: &mut <T as ThreadLocalActor>::State,
) -> Result<(), Box<dyn Error + Send + Sync>>
async fn handle( &self, myself: ActorRef<<T as ThreadLocalActor>::Msg>, message: <T as ThreadLocalActor>::Msg, state: &mut <T as ThreadLocalActor>::State, ) -> Result<(), Box<dyn Error + Send + Sync>>
Handle the incoming message from the event processing loop. Unhandled panickes will be
captured and sent to the supervisor(s) Read more
Source§async fn handle_supervisor_evt(
&self,
myself: ActorRef<<T as ThreadLocalActor>::Msg>,
message: SupervisionEvent,
state: &mut <T as ThreadLocalActor>::State,
) -> Result<(), Box<dyn Error + Send + Sync>>
async fn handle_supervisor_evt( &self, myself: ActorRef<<T as ThreadLocalActor>::Msg>, message: SupervisionEvent, state: &mut <T as ThreadLocalActor>::State, ) -> Result<(), Box<dyn Error + Send + Sync>>
Handle the incoming supervision event. Unhandled panics will be captured and
sent the the supervisor(s). The default supervision behavior is to exit the
supervisor on any child exit. To override this behavior, implement this function. Read more
Source§fn post_stop(
&self,
myself: ActorRef<Self::Msg>,
state: &mut Self::State,
) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>>
fn post_stop( &self, myself: ActorRef<Self::Msg>, state: &mut Self::State, ) -> impl Future<Output = Result<(), Box<dyn Error + Send + Sync>>>
Invoked after an actor has been stopped to perform final cleanup. In the
event the actor is terminated with
Signal::Kill or has self-panicked,
post_stop won’t be called. Read moreSource§fn spawn(
name: Option<String>,
startup_args: Self::Arguments,
spawner: ThreadLocalActorSpawner,
) -> impl Future<Output = Result<(ActorRef<Self::Msg>, JoinHandle<()>), SpawnErr>>
fn spawn( name: Option<String>, startup_args: Self::Arguments, spawner: ThreadLocalActorSpawner, ) -> impl Future<Output = Result<(ActorRef<Self::Msg>, JoinHandle<()>), SpawnErr>>
Spawn an actor of this type, which is unsupervised, automatically starting Read more
Source§fn spawn_instant(
name: Option<String>,
startup_args: Self::Arguments,
spawner: ThreadLocalActorSpawner,
) -> Result<(ActorRef<Self::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
fn spawn_instant( name: Option<String>, startup_args: Self::Arguments, spawner: ThreadLocalActorSpawner, ) -> Result<(ActorRef<Self::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
Spawn an actor instantly, not waiting on the actor’s
pre_start routine. Read moreSource§fn spawn_linked(
name: Option<String>,
startup_args: Self::Arguments,
supervisor: ActorCell,
spawner: ThreadLocalActorSpawner,
) -> impl Future<Output = Result<(ActorRef<Self::Msg>, JoinHandle<()>), SpawnErr>>
fn spawn_linked( name: Option<String>, startup_args: Self::Arguments, supervisor: ActorCell, spawner: ThreadLocalActorSpawner, ) -> impl Future<Output = Result<(ActorRef<Self::Msg>, JoinHandle<()>), SpawnErr>>
Spawn an actor of this type with a supervisor, automatically starting the actor Read more
Source§fn spawn_linked_instant(
name: Option<String>,
startup_args: Self::Arguments,
supervisor: ActorCell,
spawner: ThreadLocalActorSpawner,
) -> Result<(ActorRef<Self::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
fn spawn_linked_instant( name: Option<String>, startup_args: Self::Arguments, supervisor: ActorCell, spawner: ThreadLocalActorSpawner, ) -> Result<(ActorRef<Self::Msg>, JoinHandle<Result<JoinHandle<()>, SpawnErr>>), SpawnErr>
Spawn an actor instantly with a supervisor, not waiting on the actor’s
pre_start routine.