Enum total_space::Emit[][src]

pub enum Emit<Payload: DataLike> {
    Immediate(Payload, usize),
    Unordered(Payload, usize),
    Ordered(Payload, usize),
    ImmediateReplacement(fn(_: Option<Payload>) -> bool, Payload, usize),
    UnorderedReplacement(fn(_: Option<Payload>) -> bool, Payload, usize),
    OrderedReplacement(fn(_: Option<Payload>) -> bool, Payload, usize),
}

A message sent by an agent as part of an alternative action triggered by some event.

Variants

Immediate(Payload, usize)

Send a message that will be delivered immediately, before any other message is delivered.

Unordered(Payload, usize)

Send an unordered message, which will be delivered at any order relative to the other unordered messages.

Ordered(Payload, usize)

Send an ordered message, which will be delivered after delivering all previous ordered messages from this source agent to the same target agent.

ImmediateReplacement(fn(_: Option<Payload>) -> bool, Payload, usize)

Send an immediate message that will replace the single in-flight message accepted by the callback, or be created as a new message is the callback accepts None.

UnorderedReplacement(fn(_: Option<Payload>) -> bool, Payload, usize)

Send an unordered message that will replace the single in-flight message accepted by the callback, or be created as a new message is the callback accepts None.

OrderedReplacement(fn(_: Option<Payload>) -> bool, Payload, usize)

Send an ordered message that will replace the single in-flight message accepted by the callback, or be created as a new message is the callback accepts None.

Trait Implementations

impl<Payload: Clone + DataLike> Clone for Emit<Payload>[src]

impl<Payload: Copy + DataLike> Copy for Emit<Payload>[src]

impl<Payload: Debug + DataLike> Debug for Emit<Payload>[src]

impl<Payload: Eq + DataLike> Eq for Emit<Payload>[src]

impl<Payload: PartialEq + DataLike> PartialEq<Emit<Payload>> for Emit<Payload>[src]

impl<Payload: DataLike> StructuralEq for Emit<Payload>[src]

impl<Payload: DataLike> StructuralPartialEq for Emit<Payload>[src]

Auto Trait Implementations

impl<Payload> RefUnwindSafe for Emit<Payload> where
    Payload: RefUnwindSafe

impl<Payload> Send for Emit<Payload> where
    Payload: Send

impl<Payload> Sync for Emit<Payload> where
    Payload: Sync

impl<Payload> Unpin for Emit<Payload> where
    Payload: Unpin

impl<Payload> UnwindSafe for Emit<Payload> where
    Payload: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.