[][src]Struct actix_raft::admin::ProposeConfigChange

pub struct ProposeConfigChange<D: AppData, R: AppDataResponse, E: AppError> { /* fields omitted */ }

Propose a new membership config change to a running cluster.

There are a few invariants which must be upheld here:

  • if the node this command is sent to is not the leader of the cluster, it will be rejected.
  • if the given changes would leave the cluster in an inoperable state, it will be rejected.

Methods

impl<D: AppData, R: AppDataResponse, E: AppError> ProposeConfigChange<D, R, E>[src]

pub fn new(add_members: Vec<NodeId>, remove_members: Vec<NodeId>) -> Self[src]

Create a new instance.

If there are duplicates in either of the givenn vectors, they will be filtered out to ensure config is proper.

Trait Implementations

impl<D: AppData, R: AppDataResponse, E: AppError, N: RaftNetwork<D>, S: RaftStorage<D, R, E>> Handler<ProposeConfigChange<D, R, E>> for Raft<D, R, E, N, S>[src]

type Result = ResponseActFuture<Self, (), ProposeConfigChangeError<D, R, E>>

The type of value that this handler will return.

fn handle(
    &mut self,
    msg: ProposeConfigChange<D, R, E>,
    ctx: &mut Self::Context
) -> Self::Result
[src]

An admin message handler invoked to trigger dynamic cluster configuration changes. See §6.

impl<D: AppData, R: AppDataResponse, E: AppError> Message for ProposeConfigChange<D, R, E>[src]

type Result = Result<(), ProposeConfigChangeError<D, R, E>>

The type of value that this message will resolved with if it is successful. Read more

Auto Trait Implementations

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

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

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

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

impl<D, R, E> UnwindSafe for ProposeConfigChange<D, R, E> where
    D: UnwindSafe,
    E: UnwindSafe,
    R: 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, 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>,