pub struct EmptyActor();Trait Implementations§
impl Accepts<EmptyMessage> for EmptyActorwhere
EmptyMessage: RemoteMessage,
impl Accepts<IntrospectMessage> for EmptyActor
Source§impl Actor for EmptyActor
impl Actor for EmptyActor
Source§fn init<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn init<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Initialize the actor, after the runtime has been fully initialized.
Init thus provides a mechanism by which an actor can reliably and always
receive some initial event that can be used to kick off further
(potentially delayed) processing.
Source§fn handle_stop<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
this: &'life1 Instance<Self>,
mode: StopMode,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn handle_stop<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
this: &'life1 Instance<Self>,
mode: StopMode,
reason: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Handle a stop request from the runtime. Read more
Source§fn cleanup<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
_err: Option<&'life2 ActorError>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn cleanup<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
_err: Option<&'life2 ActorError>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Cleanup things used by this actor before shutting down. Notably this function
is async and allows more complex cleanup. Simpler cleanup can be handled
by the impl Drop for this Actor.
If err is not None, it is the error that this actor is failing with. Any
errors returned by this function will be logged and ignored.
If err is None, any errors returned by this function will be propagated
as an ActorError.
This function is not called if there is a panic in the actor, as the
actor may be in an indeterminate state. It is also not called if the
process is killed, there is no atexit handler or signal handler.
Source§fn spawn_server_task<F>(future: F) -> JoinHandle<<F as Future>::Output>
fn spawn_server_task<F>(future: F) -> JoinHandle<<F as Future>::Output>
This method is used by the runtime to spawn the actor server. It can be
used by actors that require customized runtime setups
(e.g., dedicated actor threads), or want to use a custom tokio runtime.
Source§fn handle_supervision_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
event: &'life2 ActorSupervisionEvent,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn handle_supervision_event<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
_this: &'life1 Instance<Self>,
event: &'life2 ActorSupervisionEvent,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Handle actor supervision event. Return `Ok(true)`` if the event is handled here.
Source§fn handle_delivery_failure_event<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn handle_delivery_failure_event<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Default delivery-failure event handling behavior.
Source§fn handle_undeliverable_message<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
reason: UndeliverableReason,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn handle_undeliverable_message<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
reason: UndeliverableReason,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Default undeliverable message handling behavior.
Source§fn handle_invalid_reference<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
invalid: InvalidReference,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn handle_invalid_reference<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
invalid: InvalidReference,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Default invalid-reference handling behavior.
Source§fn handle_expired_delivery<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
expired: ExpiredDelivery,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn handle_expired_delivery<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Instance<Self>,
expired: ExpiredDelivery,
undeliverable: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Default expired-delivery handling behavior.
Source§fn display_name(&self) -> Option<String>
fn display_name(&self) -> Option<String>
If overridden, we will use this name in place of the
ActorAddr for talking about this actor in supervision error
messages.
Source§impl Binds<EmptyActor> for EmptyActor
impl Binds<EmptyActor> for EmptyActor
Source§fn bind(ports: &HandlerPorts<Self>)
fn bind(ports: &HandlerPorts<Self>)
Bind ports in this actor.
Source§impl Debug for EmptyActor
impl Debug for EmptyActor
Source§impl Default for EmptyActor
impl Default for EmptyActor
Source§fn default() -> EmptyActor
fn default() -> EmptyActor
Returns the “default value” for a type. Read more
Source§impl Handler<EmptyMessage> for EmptyActor
impl Handler<EmptyMessage> for EmptyActor
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_: &'life1 Context<'_, Self>,
__arg2: EmptyMessage,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_: &'life1 Context<'_, Self>,
__arg2: EmptyMessage,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Handle the next M-typed message.
Source§fn message_status_reporting() -> MessageStatusReporting
fn message_status_reporting() -> MessageStatusReporting
Select which layer reports the message’s terminal telemetry status.
Source§impl Named for EmptyActor
impl Named for EmptyActor
Source§fn typename() -> &'static str
fn typename() -> &'static str
The globally unique type name for the type.
This should typically be the fully qualified Rust name of the type.
Source§fn typehash() -> u64
fn typehash() -> u64
A globally unique hash for this type.
TODO: actually enforce perfect hashing
Source§fn typeid() -> TypeId
fn typeid() -> TypeId
The TypeId for this type. TypeIds are unique only within a binary,
and should not be used for global identification.
Source§impl PartialEq for EmptyActor
impl PartialEq for EmptyActor
Source§fn eq(&self, other: &EmptyActor) -> bool
fn eq(&self, other: &EmptyActor) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Referable for EmptyActor
impl RemoteHandles<EmptyMessage> for EmptyActorwhere
EmptyMessage: RemoteMessage,
impl RemoteHandles<IntrospectMessage> for EmptyActor
impl StructuralPartialEq for EmptyActor
Auto Trait Implementations§
impl Freeze for EmptyActor
impl RefUnwindSafe for EmptyActor
impl Send for EmptyActor
impl Sync for EmptyActor
impl Unpin for EmptyActor
impl UnsafeUnpin for EmptyActor
impl UnwindSafe for EmptyActor
Blanket Implementations§
impl<T> Allocation for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<A> Handler<IntrospectMessage> for Awhere
A: Actor,
impl<A> Handler<IntrospectMessage> for Awhere
A: Actor,
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, A>,
_message: IntrospectMessage,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
A: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
_cx: &'life1 Context<'_, A>,
_message: IntrospectMessage,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
A: 'async_trait,
Handle the next M-typed message.
Source§fn message_status_reporting() -> MessageStatusReporting
fn message_status_reporting() -> MessageStatusReporting
Select which layer reports the message’s terminal telemetry status.
Source§impl<A> Handler<Undeliverable<MessageEnvelope>> for Awhere
A: Actor,
impl<A> Handler<Undeliverable<MessageEnvelope>> for Awhere
A: Actor,
Source§fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, A>,
message: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
A: 'async_trait,
fn handle<'life0, 'life1, 'async_trait>(
&'life0 mut self,
cx: &'life1 Context<'_, A>,
message: Undeliverable<MessageEnvelope>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
A: 'async_trait,
Handle the next M-typed message.
Source§fn message_status_reporting() -> MessageStatusReporting
fn message_status_reporting() -> MessageStatusReporting
Select which layer reports the message’s terminal telemetry status.
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].impl<M> Message for M
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> QuoteExt for Twhere
T: ?Sized,
impl<T> QuoteExt for Twhere
T: ?Sized,
fn push_quoted<'q, Q, S>(&mut self, _q: Q, s: S)where
Q: QuoteInto<T>,
S: Into<Quotable<'q>>,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<A> RemoteSpawn for A
impl<A> RemoteSpawn for A
Source§fn new<'life0, 'async_trait>(
_params: <A as RemoteSpawn>::Params,
_environment: &'life0 ActorEnvironment,
) -> Pin<Box<dyn Future<Output = Result<A, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
A: 'async_trait,
fn new<'life0, 'async_trait>(
_params: <A as RemoteSpawn>::Params,
_environment: &'life0 ActorEnvironment,
) -> Pin<Box<dyn Future<Output = Result<A, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
A: 'async_trait,
Creates a new actor instance given its instantiation parameters.
The caller shapes
environment with any construction context before
spawning. The runtime stores the same environment unchanged.Source§fn gspawn_root_bind(
proc: &Proc,
uid: Uid,
serialized_params: Vec<u8>,
environment: ActorEnvironment,
) -> Pin<Box<dyn Future<Output = Result<ActorAddr, Error>> + Send>>
fn gspawn_root_bind( proc: &Proc, uid: Uid, serialized_params: Vec<u8>, environment: ActorEnvironment, ) -> Pin<Box<dyn Future<Output = Result<ActorAddr, Error>> + Send>>
A type-erased entry point to spawn this actor as a root. This is
primarily used by hyperactor’s remote actor registration
mechanism.
Source§fn gspawn_child(
proc: &Proc,
parent: InstanceCell,
uid: Uid,
serialized_params: Vec<u8>,
environment: ActorEnvironment,
) -> Pin<Box<dyn Future<Output = Result<AnyActorHandle, Error>> + Send>>
fn gspawn_child( proc: &Proc, parent: InstanceCell, uid: Uid, serialized_params: Vec<u8>, environment: ActorEnvironment, ) -> Pin<Box<dyn Future<Output = Result<AnyActorHandle, Error>> + Send>>
A type-erased entry point to spawn this actor as a child. Read more
Source§fn get_type_id() -> TypeId
fn get_type_id() -> TypeId
The type ID of this actor.