[][src]Enum rast::Output

pub enum Output {
    Message(Message),
    PersistReq(PersistReq),
    ApplyReq(Index),
    ReadStateMachineReq(ReadStateMachineReq),
}

An output from step.

Outputs include rpcs to send and data to be persisted.

Message outputs are assumed to be lossy (any necessary messages will be retried if they are lost). It is also not required for correctness that messages are delivered in the order that they are output. However, it's best for availability if messages between any two nodes are a delivered in order.

All disk outputs must be processed and in the order they are emitted. This applies to the PersistReq, ApplyReq, and ReadStateMachineReq outputs.

Variants

Message(Message)

An rpc to be sent to another node by the runtime.

PersistReq(PersistReq)

A request that the given entries be durably written to the Raft log.

Completion is communciated to Raft by an Input::PersistRes. Processing this request is subject to the ordering requirements described on Output.

ApplyReq(Index)

A request that the given entries be applied to the state machine.

No communication of completion is necessary but processing this request is subject to the ordering requirements described on Output.

ReadStateMachineReq(ReadStateMachineReq)

A request that the state machine's current state be read.

Completion is communciated to Raft by an Input::ReadStateMachineRes. Processing this request is subject to the ordering requirements described on Output.

Trait Implementations

impl Debug for Output[src]

Auto Trait Implementations

impl RefUnwindSafe for Output

impl Send for Output

impl Sync for Output

impl Unpin for Output

impl UnwindSafe for Output

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, 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.