pub struct LinkSpec { /* private fields */ }Expand description
Serializable worker-side link actor spawn specification.
A supervisor-side link factory returns this after it starts the local
supervisor link actor. The worker sends this spec to the remote worker,
which calls LinkSpec::spawn_worker to instantiate its side of the link.
Implementations§
Source§impl LinkSpec
impl LinkSpec
Sourcepub fn for_actor<A: Actor + Named>(params: Data) -> Self
pub fn for_actor<A: Actor + Named>(params: Data) -> Self
Create a worker-side link spec for the registered actor type with a fresh uid.
Sourcepub fn for_actor_uid<A: Actor + Named>(uid: Uid, params: Data) -> Self
pub fn for_actor_uid<A: Actor + Named>(uid: Uid, params: Data) -> Self
Create a worker-side link spec for the registered actor type with an explicit uid.
Sourcepub fn new(actor_type: impl Into<String>, params: Data) -> Self
pub fn new(actor_type: impl Into<String>, params: Data) -> Self
Create a worker-side link spec with a fresh uid.
Sourcepub fn with_uid(actor_type: impl Into<String>, uid: Uid, params: Data) -> Self
pub fn with_uid(actor_type: impl Into<String>, uid: Uid, params: Data) -> Self
Create a worker-side link spec with an explicit uid.
Sourcepub fn actor_type(&self) -> &str
pub fn actor_type(&self) -> &str
Registered name of the worker-side link implementation actor.
Sourcepub async fn spawn_worker<C: Actor>(self, parent: &C) -> Result<AnyActorHandle>
pub async fn spawn_worker<C: Actor>(self, parent: &C) -> Result<AnyActorHandle>
Spawn the worker-side link actor as a supervised child of parent.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LinkSpec
impl<'de> Deserialize<'de> for LinkSpec
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
impl Eq for LinkSpec
Source§impl Named for LinkSpec
impl Named for LinkSpec
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.
impl StructuralPartialEq for LinkSpec
Auto Trait Implementations§
impl Freeze for LinkSpec
impl RefUnwindSafe for LinkSpec
impl Send for LinkSpec
impl Sync for LinkSpec
impl Unpin for LinkSpec
impl UnsafeUnpin for LinkSpec
impl UnwindSafe for LinkSpec
Blanket Implementations§
impl<M> Accepts<M> for Mwhere
M: RemoteMessage,
impl<T> Allocation 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
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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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>
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].