pub struct CircuitConfig {
pub failure_threshold: u32,
pub success_threshold: u32,
pub timeout_ms: u64,
pub half_open_max_calls: u32,
pub slow_call_threshold_ms: u64,
pub window_size: u32,
}Expand description
Configuration knobs for a PeerCircuitBreaker.
Fields§
§failure_threshold: u32Consecutive failures required to transition from Closed → Open.
success_threshold: u32Consecutive successes in HalfOpen required to transition → Closed.
timeout_ms: u64Milliseconds to wait in Open before transitioning to HalfOpen.
half_open_max_calls: u32Maximum concurrent in-flight calls allowed while in HalfOpen.
slow_call_threshold_ms: u64Calls that take longer than this (ms) count as failures even when the underlying operation reports success.
window_size: u32Sliding window size: the last window_size results are tracked for
failure-rate calculation.
Trait Implementations§
Source§impl Clone for CircuitConfig
impl Clone for CircuitConfig
Source§fn clone(&self) -> CircuitConfig
fn clone(&self) -> CircuitConfig
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 CircuitConfig
impl Debug for CircuitConfig
Auto Trait Implementations§
impl Freeze for CircuitConfig
impl RefUnwindSafe for CircuitConfig
impl Send for CircuitConfig
impl Sync for CircuitConfig
impl Unpin for CircuitConfig
impl UnsafeUnpin for CircuitConfig
impl UnwindSafe for CircuitConfig
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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