[][src]Struct raft::Configuration

pub struct Configuration { /* fields omitted */ }

A Raft internal representation of a Configuration.

This is corollary to a ConfState, but optimized for contains calls.

Methods

impl Configuration[src]

pub fn voters(&self) -> &HashSet<u64>[src]

The voter set.

pub fn learners(&self) -> &HashSet<u64>[src]

The learner set.

impl Configuration[src]

pub fn new(
    voters: impl IntoIterator<Item = u64>,
    learners: impl IntoIterator<Item = u64>
) -> Self
[src]

Create a new configuration with the given configuration.

impl Configuration[src]

pub fn valid(&self) -> Result<()>[src]

Validates that the configuration is not problematic.

Namely:

  • There can be no overlap of voters and learners.
  • There must be at least one voter.

pub fn contains(&self, id: u64) -> bool[src]

Returns whether or not the given id is a member of this configuration.

Trait Implementations

impl Clone for Configuration[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Default for Configuration[src]

impl<Iter1, Iter2> From<(Iter1, Iter2)> for Configuration where
    Iter1: IntoIterator<Item = u64>,
    Iter2: IntoIterator<Item = u64>, 
[src]

impl From<ConfState> for Configuration[src]

impl From<Configuration> for ConfState[src]

impl PartialEq<Configuration> for Configuration[src]

impl Debug for Configuration[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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<T> Borrow<T> for T where
    T: ?Sized
[src]

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

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

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

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