pub enum FailoverStrategy {
ActivePassive,
RoundRobin,
Weighted,
LatencyBased,
}Expand description
Strategy for selecting a CA backend (RHELBU-3536 R3).
Variants§
ActivePassive
Ordered priority list; always prefer the highest-priority healthy CA. Falls back to the next CA only when the preferred one is unavailable.
RoundRobin
Distribute requests evenly across all healthy CAs using a round-robin counter.
Weighted
Distribute requests proportionally to configured weights. For example, weights [70, 30] route ~70% of traffic to the first CA.
LatencyBased
Prefer the CA with the lowest recent response latency (exponential moving average). Automatically adapts to changing network conditions.
Trait Implementations§
Source§impl Clone for FailoverStrategy
impl Clone for FailoverStrategy
Source§fn clone(&self) -> FailoverStrategy
fn clone(&self) -> FailoverStrategy
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 FailoverStrategy
impl Debug for FailoverStrategy
Source§impl<'de> Deserialize<'de> for FailoverStrategy
impl<'de> Deserialize<'de> for FailoverStrategy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for FailoverStrategy
impl RefUnwindSafe for FailoverStrategy
impl Send for FailoverStrategy
impl Sync for FailoverStrategy
impl Unpin for FailoverStrategy
impl UnsafeUnpin for FailoverStrategy
impl UnwindSafe for FailoverStrategy
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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