Skip to main content

SendAlgebra

Trait SendAlgebra 

Source
pub trait SendAlgebra: Sized {
    // Required methods
    fn empty() -> Self;
    fn append(&mut self, other: Self);

    // Provided methods
    fn combine(self, other: Self) -> Self { ... }
    fn send<Input, Path>(&mut self, input: Input)
       where Self: SendInput<Input, Path> { ... }
    fn sending<Input, Path>(input: Input) -> Self
       where Self: SendInput<Input, Path> { ... }
}
Expand description

The operation required to accumulate sends across transitions.

Required Methods§

Source

fn empty() -> Self

Source

fn append(&mut self, other: Self)

Provided Methods§

Source

fn combine(self, other: Self) -> Self

Source

fn send<Input, Path>(&mut self, input: Input)
where Self: SendInput<Input, Path>,

Append one request to its statically selected semantic lane.

Source

fn sending<Input, Path>(input: Input) -> Self
where Self: SendInput<Input, Path>,

Build a send product containing one request in its selected lane.

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.

Implementations on Foreign Types§

Source§

impl<T> SendAlgebra for Vec<T>

Source§

fn empty() -> Self

Source§

fn append(&mut self, other: Self)

Implementors§

Source§

impl<A, D, J, R, C> SendAlgebra for PoolBehaviorSends<A, D, J, R, C>
where A: Address, A::Nonce: From<u64>, D: Behavior<Addr = A, Msg = PoolResponse<J, R, A>>, C: Behavior<Addr = A, Ph = Never>,

Source§

impl<A, Sends, C> SendAlgebra for SupervisorSends<A, Sends, C>
where A: Address, A::Nonce: From<u64>, Sends: SendAlgebra, C: Behavior<Addr = A, Ph = Never>,

Source§

impl<A: Address, Sends: SendAlgebra> SendAlgebra for WatchSends<A, Sends>

Source§

impl<C: Behavior> SendAlgebra for ProxySends<C>

Source§

impl<L: SendAlgebra, R: SendAlgebra> SendAlgebra for SendProduct<L, R>

Source§

impl<M> SendAlgebra for ServiceSends<M>

Source§

impl<Sends: SendAlgebra> SendAlgebra for DeadlineSends<Sends>

Source§

impl<Sends: SendAlgebra> SendAlgebra for ReceiveTimeoutSends<Sends>