pub enum ActorMeshRef<A: Referable> {
Managed(Box<ManagedActorMeshRef<A>>),
Data(DataActorMesh<A>),
}Expand description
A reference to a stable snapshot of an ActorMesh: the cast and address
surface, cheap to clone and to serialize.
Managed is the controller-backed ref, and Data is the detached ref. Both
variants use cast-tree delivery and expose the same dense view::Ranked
and view::RankedSliceable surface.
Variants§
Managed(Box<ManagedActorMeshRef<A>>)
Data(DataActorMesh<A>)
Implementations§
Source§impl<A: Referable> ActorMeshRef<A>
impl<A: Referable> ActorMeshRef<A>
Sourcepub fn try_new_data(
id: ActorMeshId,
region: Region,
members: Vec<ActorRef<A>>,
) -> Result<Self>
pub fn try_new_data( id: ActorMeshId, region: Region, members: Vec<ActorRef<A>>, ) -> Result<Self>
Create a data-only ref named id from a region and its actor refs.
Sourcepub fn as_managed(&self) -> Option<&ManagedActorMeshRef<A>>
pub fn as_managed(&self) -> Option<&ManagedActorMeshRef<A>>
Return the legacy dense ref when this is the managed variant.
Sourcepub fn as_managed_mut(&mut self) -> Option<&mut ManagedActorMeshRef<A>>
pub fn as_managed_mut(&mut self) -> Option<&mut ManagedActorMeshRef<A>>
Return the legacy dense ref mutably when this is the managed variant.
Sourcepub fn id(&self) -> &ActorMeshId
pub fn id(&self) -> &ActorMeshId
Return the mesh id.
Sourcepub fn cast<M>(&self, cx: &impl Actor, message: M) -> Result<()>
pub fn cast<M>(&self, cx: &impl Actor, message: M) -> Result<()>
Cast a message to all the actors in this mesh.
This initiates delivery without waiting for it; use Self::monitor to
observe actors that stop or fail.
pub fn cast_with_headers<M>( &self, cx: &impl Actor, caller_headers: &Flattrs, message: M, ) -> Result<()>
Sourcepub fn cast_with_return_undeliverable<M>(
&self,
cx: &impl Actor,
caller_headers: &Flattrs,
message: M,
return_undeliverable: bool,
) -> Result<()>
pub fn cast_with_return_undeliverable<M>( &self, cx: &impl Actor, caller_headers: &Flattrs, message: M, return_undeliverable: bool, ) -> Result<()>
Cast message with explicit undeliverable-return behavior.
Sourcepub async fn next_supervision_event(
&self,
cx: &impl Actor,
) -> Result<MeshFailure, Error>
pub async fn next_supervision_event( &self, cx: &impl Actor, ) -> Result<MeshFailure, Error>
Return the next supervision event observed on this mesh.
Sourcepub fn clone_with_supervision_receiver(&self) -> Self
pub fn clone_with_supervision_receiver(&self) -> Self
Sourcepub fn monitor(&self, cx: &impl Actor) -> MeshMonitor
pub fn monitor(&self, cx: &impl Actor) -> MeshMonitor
Create a new, independent monitor over every rank.
Trait Implementations§
Source§impl<A: Referable> Clone for ActorMeshRef<A>
impl<A: Referable> Clone for ActorMeshRef<A>
Source§impl<A: Referable> Debug for ActorMeshRef<A>
impl<A: Referable> Debug for ActorMeshRef<A>
Source§impl<'de, A: Referable> Deserialize<'de> for ActorMeshRef<A>
impl<'de, A: Referable> Deserialize<'de> for ActorMeshRef<A>
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>,
Source§impl<A: Referable> Display for ActorMeshRef<A>
impl<A: Referable> Display for ActorMeshRef<A>
impl<A: Referable> Eq for ActorMeshRef<A>
Source§impl<A: Referable> Hash for ActorMeshRef<A>
impl<A: Referable> Hash for ActorMeshRef<A>
Source§impl<A: Referable + Named> Named for ActorMeshRef<A>
impl<A: Referable + Named> Named for ActorMeshRef<A>
Source§fn typename() -> &'static str
fn typename() -> &'static str
Source§fn typehash() -> u64
fn typehash() -> u64
Source§fn arm(&self) -> Option<&'static str>
fn arm(&self) -> Option<&'static str>
Source§impl<A: Referable> PartialEq for ActorMeshRef<A>
impl<A: Referable> PartialEq for ActorMeshRef<A>
Source§impl<A: Referable> Ranked for ActorMeshRef<A>
impl<A: Referable> Ranked for ActorMeshRef<A>
Source§impl<A: Referable> RankedSliceable for ActorMeshRef<A>
impl<A: Referable> RankedSliceable for ActorMeshRef<A>
Auto Trait Implementations§
impl<A> Freeze for ActorMeshRef<A>
impl<A> RefUnwindSafe for ActorMeshRef<A>
impl<A> Send for ActorMeshRef<A>
impl<A> Sync for ActorMeshRef<A>
impl<A> Unpin for ActorMeshRef<A>
impl<A> UnsafeUnpin for ActorMeshRef<A>
impl<A> UnwindSafe for ActorMeshRef<A>
Blanket Implementations§
impl<M> Accepts<M> for Mwhere
M: RemoteMessage,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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>
§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>
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>
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>
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>,
Layered].Source§impl<T> MapIntoExt for Twhere
T: Ranked,
impl<T> MapIntoExt for Twhere
T: Ranked,
impl<M> Message for M
§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,
impl<M> RemoteMessage for M
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
§impl<T> ToSmolStr for T
impl<T> ToSmolStr for T
fn to_smolstr(&self) -> SmolStr
impl<T> TokenPeer for T
impl<T> Ungil for Twhere
T: Send,
Source§impl<T> ViewExt for Twhere
T: View,
impl<T> ViewExt for Twhere
T: View,
Source§fn range<R>(&self, dim: &str, range: R) -> Result<<T as View>::View, ViewError>
fn range<R>(&self, dim: &str, range: R) -> Result<<T as View>::View, ViewError>
Source§fn group_by(
&self,
dim: &str,
) -> Result<impl Iterator<Item = <T as View>::View>, ViewError>
fn group_by( &self, dim: &str, ) -> Result<impl Iterator<Item = <T as View>::View>, ViewError>
dim. The returned iterator enumerates all groups
as views in the extent of dim to the last dimension of the view. Read more