[][src]Enum actix_raft::admin::ProposeConfigChangeError

pub enum ProposeConfigChangeError<D: AppData, R: AppDataResponse, E: AppError> {
    ClientError(ClientError<D, R, E>),
    InoperableConfig,
    Internal,
    NodeNotLeader(Option<NodeId>),
    Noop,
}

The set of errors which may take place when requesting to propose a config change.

Variants

ClientError(ClientError<D, R, E>)

An error related to the processing of the config change request.

Errors of this type will only come about from the internals of applying the config change to the Raft log and the process related to that workflow.

InoperableConfig

The given config would leave the cluster in an inoperable state.

This error will be returned if the full set of changes, once fully applied, would leave the cluster with less than two members.

Internal

An internal error has taken place.

These should never normally take place, but if one is encountered, it should be safe to retry the operation.

NodeNotLeader(Option<NodeId>)

The node the config change proposal was sent to was not the leader of the cluster.

If the current cluster leader is known, its ID will be wrapped in this variant.

Noop

The proposed config changes would make no difference to the current config.

This takes into account a current joint consensus and the end result of the config.

This error will be returned if the proposed add & remove elements are empty; all of the entries to be added already exist in the current config and/or all of the entries to be removed have already been scheduled for removal and/or do not exist in the current config.

Trait Implementations

impl<D: Debug + AppData, R: Debug + AppDataResponse, E: Debug + AppError> Debug for ProposeConfigChangeError<D, R, E>[src]

impl<D: AppData, R: AppDataResponse, E: AppError> Display for ProposeConfigChangeError<D, R, E>[src]

impl<D: AppData, R: AppDataResponse, E: AppError> Error for ProposeConfigChangeError<D, R, E>[src]

Auto Trait Implementations

impl<D, R, E> RefUnwindSafe for ProposeConfigChangeError<D, R, E> where
    D: RefUnwindSafe,
    E: RefUnwindSafe,
    R: RefUnwindSafe

impl<D, R, E> Send for ProposeConfigChangeError<D, R, E>

impl<D, R, E> Sync for ProposeConfigChangeError<D, R, E>

impl<D, R, E> Unpin for ProposeConfigChangeError<D, R, E> where
    D: Unpin,
    E: Unpin,
    R: Unpin

impl<D, R, E> UnwindSafe for ProposeConfigChangeError<D, R, E> where
    D: UnwindSafe,
    E: UnwindSafe,
    R: UnwindSafe

Blanket Implementations

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

impl<T> AsFail for T where
    T: Fail, 

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

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

impl<E> Fail for E where
    E: 'static + Error + Send + Sync

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

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

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