pub struct DataActorMesh<A: Referable> { /* private fields */ }Expand description
The data-only variant of ActorMeshRef: a cheap, detached cast/address
surface built directly from actor refs.
Membership is a Region paired with exactly one actor ref per rank. The
mesh is identified by the ActorMeshId it was constructed with, which
slices and serialized copies keep. It has no remote supervision stream; a
caller monitors it on demand via ActorMeshRef::monitor. Multi-member
casting uses a bounded-fanout cast domain.
Implementations§
Source§impl<A: Referable> DataActorMesh<A>
impl<A: Referable> DataActorMesh<A>
Sourcepub fn try_new(
id: ActorMeshId,
region: Region,
members: Vec<ActorRef<A>>,
) -> Result<Self>
pub fn try_new( id: ActorMeshId, region: Region, members: Vec<ActorRef<A>>, ) -> Result<Self>
Create a data-only actor mesh named id from a region and its actor
refs.
members must hold one ref per rank, in region order. The mesh does not
own, stop, or supervise the actors; it is a plain view over the refs.
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 message to every member through a bounded-fanout cast domain.
Sourcepub fn cast_with_headers<M>(
&self,
cx: &impl Actor,
caller_headers: &Flattrs,
message: M,
) -> Result<()>
pub fn cast_with_headers<M>( &self, cx: &impl Actor, caller_headers: &Flattrs, message: M, ) -> Result<()>
Cast message to every member, merging caller_headers into each
envelope.
Trait Implementations§
Source§impl<A: Referable> Clone for DataActorMesh<A>
impl<A: Referable> Clone for DataActorMesh<A>
Source§impl<A: Referable> Debug for DataActorMesh<A>
impl<A: Referable> Debug for DataActorMesh<A>
Source§impl<'de, A: Referable> Deserialize<'de> for DataActorMesh<A>
impl<'de, A: Referable> Deserialize<'de> for DataActorMesh<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>,
impl<A: Referable> Eq for DataActorMesh<A>
Source§impl<A: Referable> Hash for DataActorMesh<A>
impl<A: Referable> Hash for DataActorMesh<A>
Source§impl<A: Referable> PartialEq for DataActorMesh<A>
impl<A: Referable> PartialEq for DataActorMesh<A>
Source§impl<A: Referable> Ranked for DataActorMesh<A>
impl<A: Referable> Ranked for DataActorMesh<A>
Source§impl<A: Referable> RankedSliceable for DataActorMesh<A>
impl<A: Referable> RankedSliceable for DataActorMesh<A>
Auto Trait Implementations§
impl<A> Freeze for DataActorMesh<A>
impl<A> RefUnwindSafe for DataActorMesh<A>
impl<A> Send for DataActorMesh<A>
impl<A> Sync for DataActorMesh<A>
impl<A> Unpin for DataActorMesh<A>
impl<A> UnsafeUnpin for DataActorMesh<A>
impl<A> UnwindSafe for DataActorMesh<A>
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
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,
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> 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