[][src]Enum paxakos::append::AppendError

#[non_exhaustive]pub enum AppendError {
    Aborted(BoxError),
    Converged,
    Disoriented,
    Exiled,
    Lost,
    NoQuorum,
    IoError(IoError),
    Other(BoxError),
    Passive,
    Railroaded,
    ShutDown,
    Stalled,
}

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Aborted(BoxError)

Append was aborted.

Converged

The chosen round had already converged.

Disoriented

Node does not currently know the shared state.

Exiled

Node was removed from the cluster.

Lost

Node either lost its mandate or failed in acquiring one.

NoQuorum

Failed in achieving achieve a quorum.

This commonly indicates communication errors.

IoError(IoError)

An I/O error was encountered.

Other(BoxError)

Catch-all, this may be refined over time.

Passive

Node is in passive mode.

Railroaded

Node was forced to append a different entry for the chosen round.

ShutDown

Node is shut down.

Stalled

Node is stalled.

A node is stalled when it failed to write to its obligation log. Once that happens it can no longer make promises or accept entries. This is because there is no expectation that they will be remembered after a potential crash.

Trait Implementations

impl Debug for AppendError[src]

impl Display for AppendError[src]

impl Error for AppendError[src]

impl<S: State, C: CoordNum> From<AcceptError<S, C>> for AppendError[src]

impl<S: State> From<CommitError<S>> for AppendError[src]

impl<S: State, C: CoordNum> From<PrepareError<S, C>> for AppendError[src]

Auto Trait Implementations

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> Same<T> for T

type Output = T

Should always be Self

impl<T> ToString for T where
    T: Display + ?Sized
[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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,