Skip to main content

EndpointAddress

Trait EndpointAddress 

Source
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§

Source

type Established<P>: Clone where P: Protocol<Addr = Self>

Source

type Installed<B>: Clone where B: Behavior<Protocol: Protocol<Addr = Self>>

Required Methods§

Source

fn recipient<B>( installed: &Self::Installed<B>, ) -> <Self as EndpointAddress>::Established<B::Protocol>
where B: Behavior<Protocol: Protocol<Addr = Self>>,

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.

Implementors§