Enum paxakos::node::Participation
source · [−]pub enum Participation<R> {
Active,
PartiallyActive(R),
Passive,
}
Expand description
Reflects a Node
’s possible modes of participation.
When a node shuts down, it returns a final snapshot. This snapshot can be used to restart the node. When restarted in such a fashion, the node is aware of any and all commitments it made previously.
Conversely, when a node crashes and restarts off some other snapshot, it is unaware of any commitments it made prior to crashing. To prevent the node from inadvertantly breaking any such commitments and introducing inconsistencies, it is started in passive mode.
While in passive mode, a node does not vote and does not accept any entries. It remains in this mode until all rounds it may have participated in before have been settled.
Variants
Active
The node will actively participate in any round.
PartiallyActive(R)
The node will only participate actively in the given or later rounds.
When the given round becomes the next round, i.e. an entry was applied
for its preceding round, the node will transition into Active
participation.
Passive
The node is fully passive and won’t participate in any round.
The node will observe communications and determine a lower bound for the
rounds in which it can participate without causing inconsistencies. Once
the lower bound is found, an Event::Activate
event will be emitted
and the node transitions into PartiallyActive
participation.
Trait Implementations
sourceimpl<R: Clone> Clone for Participation<R>
impl<R: Clone> Clone for Participation<R>
sourcefn clone(&self) -> Participation<R>
fn clone(&self) -> Participation<R>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<R: Debug> Debug for Participation<R>
impl<R: Debug> Debug for Participation<R>
sourceimpl<R: PartialEq> PartialEq<Participation<R>> for Participation<R>
impl<R: PartialEq> PartialEq<Participation<R>> for Participation<R>
sourcefn eq(&self, other: &Participation<R>) -> bool
fn eq(&self, other: &Participation<R>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &Participation<R>) -> bool
fn ne(&self, other: &Participation<R>) -> bool
This method tests for !=
.
impl<R: Copy> Copy for Participation<R>
impl<R: Eq> Eq for Participation<R>
impl<R> StructuralEq for Participation<R>
impl<R> StructuralPartialEq for Participation<R>
Auto Trait Implementations
impl<R> RefUnwindSafe for Participation<R> where
R: RefUnwindSafe,
impl<R> Send for Participation<R> where
R: Send,
impl<R> Sync for Participation<R> where
R: Sync,
impl<R> Unpin for Participation<R> where
R: Unpin,
impl<R> UnwindSafe for Participation<R> where
R: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more