pub enum FailoverMode {
Coordinated {
catch_up_deadline: Duration,
},
Force {
timeout: Duration,
},
}Expand description
How a failover should be executed.
Variants§
Coordinated
Zero-RPO coordinated handover. The target MUST reach the frozen
frontier within catch_up_deadline; otherwise the handover
aborts and writes resume on the old primary. No acknowledged
write is ever lost.
Force
Emergency handover. Tries to reach the frontier but completes
within timeout regardless, surfacing the skipped catch-up.
Trait Implementations§
Source§impl Clone for FailoverMode
impl Clone for FailoverMode
Source§fn clone(&self) -> FailoverMode
fn clone(&self) -> FailoverMode
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 FailoverMode
impl Debug for FailoverMode
Source§impl PartialEq for FailoverMode
impl PartialEq for FailoverMode
Source§fn eq(&self, other: &FailoverMode) -> bool
fn eq(&self, other: &FailoverMode) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for FailoverMode
impl Eq for FailoverMode
impl StructuralPartialEq for FailoverMode
Auto Trait Implementations§
impl Freeze for FailoverMode
impl RefUnwindSafe for FailoverMode
impl Send for FailoverMode
impl Sync for FailoverMode
impl Unpin for FailoverMode
impl UnsafeUnpin for FailoverMode
impl UnwindSafe for FailoverMode
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