pub trait EndpointAddress: Address + Sized {
type Established<P>: Clone
where P: Protocol<Addr = Self>;
type Installed<B>: Clone
where B: Behavior<Protocol: Protocol<Addr = Self>>;
// Required method
fn recipient<B>(
installed: &Self::Installed<B>,
) -> <Self as EndpointAddress>::Established<B::Protocol>
where B: Behavior<Protocol: Protocol<Addr = Self>>;
}Expand description
Runtime-owned installed actor family for an address namespace.
The runtime must bind one protocol endpoint and its matching concrete
lifecycle authority to the same incarnation before issuing this value.
A namespace used only for protocol messaging implements
RecipientAddress without this stronger port.
Required Associated Types§
type Established<P>: Clone where P: Protocol<Addr = Self>
type Installed<B>: Clone where B: Behavior<Protocol: Protocol<Addr = Self>>
Required Methods§
Sourcefn recipient<B>(
installed: &Self::Installed<B>,
) -> <Self as EndpointAddress>::Established<B::Protocol>
fn recipient<B>( installed: &Self::Installed<B>, ) -> <Self as EndpointAddress>::Established<B::Protocol>
Project the message-only endpoint from one installed actor.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.