Enum openraft::ChangeMembers
source · pub enum ChangeMembers<NID: NodeId, N: Node> {
AddVoterIds(BTreeSet<NID>),
AddVoters(BTreeMap<NID, N>),
RemoveVoters(BTreeSet<NID>),
ReplaceAllVoters(BTreeSet<NID>),
AddNodes(BTreeMap<NID, N>),
RemoveNodes(BTreeSet<NID>),
ReplaceAllNodes(BTreeMap<NID, N>),
}
Variants§
AddVoterIds(BTreeSet<NID>)
Upgrade learners to voters.
The learners have to present or error::LearnerNotFound
error will be returned.
AddVoters(BTreeMap<NID, N>)
Add voters with corresponding nodes.
RemoveVoters(BTreeSet<NID>)
Remove voters, leave removed voters as learner or not.
ReplaceAllVoters(BTreeSet<NID>)
Replace voter ids with a new set. The node of every new voter has to already be a learner.
AddNodes(BTreeMap<NID, N>)
Add nodes to membership, as learners.
RemoveNodes(BTreeSet<NID>)
Remove nodes from membership.
If a node is still a voter, it returns
error::LearnerNotFound
error.
ReplaceAllNodes(BTreeMap<NID, N>)
Replace all nodes with a new set.
Every voter has to have a corresponding node in the new
set, otherwise it returns error::LearnerNotFound
error.
Trait Implementations§
source§impl<NID: Clone + NodeId, N: Clone + Node> Clone for ChangeMembers<NID, N>
impl<NID: Clone + NodeId, N: Clone + Node> Clone for ChangeMembers<NID, N>
source§fn clone(&self) -> ChangeMembers<NID, N>
fn clone(&self) -> ChangeMembers<NID, N>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<NID, N, I> From<I> for ChangeMembers<NID, N>where
NID: NodeId,
N: Node,
I: IntoIterator<Item = NID>,
impl<NID, N, I> From<I> for ChangeMembers<NID, N>where NID: NodeId, N: Node, I: IntoIterator<Item = NID>,
Convert a series of ids to a Replace
operation.
source§impl<NID: PartialEq + NodeId, N: PartialEq + Node> PartialEq<ChangeMembers<NID, N>> for ChangeMembers<NID, N>
impl<NID: PartialEq + NodeId, N: PartialEq + Node> PartialEq<ChangeMembers<NID, N>> for ChangeMembers<NID, N>
source§fn eq(&self, other: &ChangeMembers<NID, N>) -> bool
fn eq(&self, other: &ChangeMembers<NID, N>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<NID: Eq + NodeId, N: Eq + Node> Eq for ChangeMembers<NID, N>
impl<NID: NodeId, N: Node> StructuralEq for ChangeMembers<NID, N>
impl<NID: NodeId, N: Node> StructuralPartialEq for ChangeMembers<NID, N>
Auto Trait Implementations§
impl<NID, N> RefUnwindSafe for ChangeMembers<NID, N>where N: RefUnwindSafe, NID: RefUnwindSafe,
impl<NID, N> Send for ChangeMembers<NID, N>
impl<NID, N> Sync for ChangeMembers<NID, N>
impl<NID, N> Unpin for ChangeMembers<NID, N>
impl<NID, N> UnwindSafe for ChangeMembers<NID, N>where N: RefUnwindSafe, NID: RefUnwindSafe,
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.