pub enum NodeHealth {
Healthy,
Degraded,
Transitioning,
Unhealthy,
}Expand description
Node health state for graceful degradation during failover
This enum enables the load balancer to handle intermediate states during failover, allowing for graceful degradation rather than binary healthy/unhealthy transitions.
Variants§
Healthy
Node is operating normally - can serve all traffic
Degraded
Node is degraded (high latency or replication lag) but still usable for reads
Transitioning
Node is transitioning (failover in progress) - hold new requests
Unhealthy
Node is down or unreachable - do not route traffic
Implementations§
Source§impl NodeHealth
impl NodeHealth
Sourcepub fn can_serve_reads(&self) -> bool
pub fn can_serve_reads(&self) -> bool
Check if node can serve read requests
Sourcepub fn can_serve_writes(&self) -> bool
pub fn can_serve_writes(&self) -> bool
Check if node can serve write requests
Trait Implementations§
Source§impl Clone for NodeHealth
impl Clone for NodeHealth
Source§fn clone(&self) -> NodeHealth
fn clone(&self) -> NodeHealth
Returns a duplicate of the value. Read more
1.0.0 · 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 NodeHealth
impl Debug for NodeHealth
Source§impl Default for NodeHealth
impl Default for NodeHealth
Source§impl PartialEq for NodeHealth
impl PartialEq for NodeHealth
impl Copy for NodeHealth
impl Eq for NodeHealth
impl StructuralPartialEq for NodeHealth
Auto Trait Implementations§
impl Freeze for NodeHealth
impl RefUnwindSafe for NodeHealth
impl Send for NodeHealth
impl Sync for NodeHealth
impl Unpin for NodeHealth
impl UnsafeUnpin for NodeHealth
impl UnwindSafe for NodeHealth
Blanket Implementations§
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§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more