pub enum SystemMessage {
Join {
world_id: WorldId,
proc_id: ProcId,
proc_message_port: PortRef<ProcMessage>,
proc_addr: ChannelAddr,
labels: HashMap<String, String>,
lifecycle_mode: ProcLifecycleMode,
},
UpsertWorld {
world_id: WorldId,
shape: Shape,
num_procs_per_host: usize,
env: Environment,
labels: HashMap<String, String>,
},
Snapshot {
filter: SystemSnapshotFilter,
ret: OncePortRef<SystemSnapshot>,
},
Stop {
worlds: Option<Vec<WorldId>>,
proc_timeout: Duration,
reply_port: OncePortRef<()>,
},
}
Expand description
System messages.
Variants§
Join
Join the system at the given proc id.
Fields
§
proc_message_port: PortRef<ProcMessage>
Reference to the proc actor managing the proc.
§
proc_addr: ChannelAddr
The channel address used to communicate with the proc.
§
lifecycle_mode: ProcLifecycleMode
The lifecyle mode of the proc.
UpsertWorld
Create a new world or update an existing world.
Fields
§
env: Environment
How to spawn procs in the world.
Snapshot
Return a snapshot view of this system. Used for debugging.
Fields
§
filter: SystemSnapshotFilter
The filter used to filter the snapshot view.
§
ret: OncePortRef<SystemSnapshot>
Used to return the snapshot view to the caller.
Stop
Start the shutdown process of everything in this system. It tries to shutdown all the procs first, and then the system actor itself.
Note this shutdown sequence is best effort, yet not guaranteed. It is possible the system actor/proc might already stop, while the remote procs are still in the middle of shutting down.
Trait Implementations§
Source§impl Clone for SystemMessage
impl Clone for SystemMessage
Source§fn clone(&self) -> SystemMessage
fn clone(&self) -> SystemMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SystemMessage
impl Debug for SystemMessage
Source§impl<'de> Deserialize<'de> for SystemMessage
impl<'de> Deserialize<'de> for SystemMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Handler<SystemMessage> for SystemActor
impl Handler<SystemMessage> for SystemActor
Source§impl Named for SystemMessage
impl Named for SystemMessage
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 arm(&self) -> Option<&'static str>
fn arm(&self) -> Option<&'static str>
If the named type is an enum, this returns the name of the arm
of the value self.
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 SystemMessage
impl PartialEq for SystemMessage
Source§impl Serialize for SystemMessage
impl Serialize for SystemMessage
impl RemoteHandles<SystemMessage> for SystemActor
impl StructuralPartialEq for SystemMessage
Auto Trait Implementations§
impl !Freeze for SystemMessage
impl RefUnwindSafe for SystemMessage
impl Send for SystemMessage
impl Sync for SystemMessage
impl Unpin for SystemMessage
impl UnwindSafe for SystemMessage
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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> Checkpointable for Twhere
T: RemoteMessage + Clone,
impl<T> Checkpointable for Twhere
T: RemoteMessage + Clone,
Source§type State = T
type State = T
The type of the state that is saved. The state can be serialized and deserialized
from persistent storage.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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, M> Handler<IndexedErasedUnbound<M>> for A
impl<A, M> Handler<IndexedErasedUnbound<M>> for A
§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