pub struct FailoverProfile {
pub name: FailoverProfileName,
pub lease_window_ms: u64,
pub member_health_score_threshold: u8,
pub promotion_grace_ms: u64,
pub max_clock_drift_ms: u64,
}Expand description
Tuned failover constants over the existing lease, health, and grace mechanisms.
Shipped profiles document the intended trade-off:
conservative: long lease and high health threshold; favors avoiding false promotion over fast recovery.balanced: default posture; keeps a moderate lease and health threshold for ordinary multi-node deployments.aggressive: short lease and lower health threshold; favors fast recovery when the operator accepts a narrower timing margin.
Fields§
§name: FailoverProfileName§lease_window_ms: u64§member_health_score_threshold: u8§promotion_grace_ms: u64§max_clock_drift_ms: u64Implementations§
Source§impl FailoverProfile
impl FailoverProfile
pub const CONSERVATIVE: FailoverProfile
pub const BALANCED: FailoverProfile
pub const AGGRESSIVE: FailoverProfile
pub const fn shipped() -> &'static [FailoverProfile]
pub const fn name_str(self) -> &'static str
pub fn validate(self) -> Result<FailoverProfile, String>
pub const fn lease_safety_margin_ms(self) -> u64
Trait Implementations§
Source§impl Clone for FailoverProfile
impl Clone for FailoverProfile
Source§fn clone(&self) -> FailoverProfile
fn clone(&self) -> FailoverProfile
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 moreimpl Copy for FailoverProfile
Source§impl Debug for FailoverProfile
impl Debug for FailoverProfile
impl Eq for FailoverProfile
Source§impl PartialEq for FailoverProfile
impl PartialEq for FailoverProfile
impl StructuralPartialEq for FailoverProfile
Auto Trait Implementations§
impl Freeze for FailoverProfile
impl RefUnwindSafe for FailoverProfile
impl Send for FailoverProfile
impl Sync for FailoverProfile
impl Unpin for FailoverProfile
impl UnsafeUnpin for FailoverProfile
impl UnwindSafe for FailoverProfile
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