pub struct FailoverOutcome {
pub new_term: u64,
pub frontier_lsn: u64,
pub reached_lsn: u64,
pub skipped_lsn: u64,
pub forced: bool,
pub waited: Duration,
pub roles: RoleAssignment,
}Expand description
The result of a completed handover.
Fields§
§new_term: u64The term the new primary now serves.
frontier_lsn: u64The primary frontier frozen at the moment writes were paused — the catch-up target.
reached_lsn: u64The target’s acknowledged frontier at the moment the term was
handed over. Equals frontier_lsn for a clean handover; may be
below it for a forced one.
skipped_lsn: u64frontier_lsn - reached_lsn — acknowledged-but-not-yet-replicated
LSNs skipped by a forced handover. Always 0 for a clean one.
forced: boolWhether the handover had to be forced past an un-caught-up target.
waited: DurationHow long the catch-up wait ran before the term was handed over.
roles: RoleAssignmentPost-handover roles of the two nodes.
Implementations§
Source§impl FailoverOutcome
impl FailoverOutcome
Sourcepub fn is_zero_rpo(&self) -> bool
pub fn is_zero_rpo(&self) -> bool
True when the target reached the full frontier — a true zero-RPO handover with nothing skipped.
Trait Implementations§
Source§impl Clone for FailoverOutcome
impl Clone for FailoverOutcome
Source§fn clone(&self) -> FailoverOutcome
fn clone(&self) -> FailoverOutcome
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FailoverOutcome
impl Debug for FailoverOutcome
Source§impl PartialEq for FailoverOutcome
impl PartialEq for FailoverOutcome
Source§fn eq(&self, other: &FailoverOutcome) -> bool
fn eq(&self, other: &FailoverOutcome) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for FailoverOutcome
impl StructuralPartialEq for FailoverOutcome
Auto Trait Implementations§
impl Freeze for FailoverOutcome
impl RefUnwindSafe for FailoverOutcome
impl Send for FailoverOutcome
impl Sync for FailoverOutcome
impl Unpin for FailoverOutcome
impl UnsafeUnpin for FailoverOutcome
impl UnwindSafe for FailoverOutcome
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request