pub struct PortId(pub ActorId, pub u64);
Expand description
Port ids identify [crate::mailbox::Port
]s of an actor.
TODO: consider moving [crate::mailbox::Port
] to PortRef
in this
module for consistency with actors,
Tuple Fields§
§0: ActorId
§1: u64
Implementations§
Source§impl PortId
impl PortId
Sourcepub fn into_actor_id(self) -> ActorId
pub fn into_actor_id(self) -> ActorId
Convert this port ID into an actor ID.
Sourcepub fn send(&self, caps: &impl CanSend, serialized: &Serialized)
pub fn send(&self, caps: &impl CanSend, serialized: &Serialized)
Send a serialized message to this port, provided a sending capability,
such as [crate::actor::Instance
]. It is the sender’s responsibility
to ensure that the provided message is well-typed.
Sourcepub fn send_with_headers(
&self,
caps: &impl CanSend,
serialized: &Serialized,
headers: Attrs,
)
pub fn send_with_headers( &self, caps: &impl CanSend, serialized: &Serialized, headers: Attrs, )
Send a serialized message to this port, provided a sending capability,
such as [crate::actor::Instance
], with additional context provided by headers.
It is the sender’s responsibility to ensure that the provided message is well-typed.
Sourcepub fn split(
&self,
caps: &impl CanSplitPort,
reducer_spec: Option<ReducerSpec>,
) -> Result<PortId>
pub fn split( &self, caps: &impl CanSplitPort, reducer_spec: Option<ReducerSpec>, ) -> Result<PortId>
Split this port, returning a new port that relays messages to the port through a local proxy, which may coalesce messages.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PortId
impl<'de> Deserialize<'de> for PortId
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 Named for PortId
impl Named for PortId
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§fn port() -> u64
fn port() -> u64
The globally unique port for this type. Typed ports are in the range
of 1<<63..1<<64-1.
Source§impl Ord for PortId
impl Ord for PortId
Source§impl PartialOrd for PortId
impl PartialOrd for PortId
impl Eq for PortId
impl StructuralPartialEq for PortId
Auto Trait Implementations§
impl Freeze for PortId
impl RefUnwindSafe for PortId
impl Send for PortId
impl Sync for PortId
impl Unpin for PortId
impl UnwindSafe for PortId
Blanket Implementations§
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§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
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<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