[−][src]Struct actix_raft::admin::ProposeConfigChange
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]
&mut self,
msg: ProposeConfigChange<D, R, E>,
ctx: &mut Self::Context
) -> Self::Result
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,
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,
D: Unpin,
E: Unpin,
R: Unpin,
impl<D, R, E> UnwindSafe for ProposeConfigChange<D, R, E> where
D: UnwindSafe,
E: UnwindSafe,
R: UnwindSafe,
D: UnwindSafe,
E: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,