pub struct CircuitConfig {
pub failure_threshold: u32,
pub success_threshold: u32,
pub half_open_probes: u32,
pub open_duration_us: u64,
pub timeout_us: u64,
pub sliding_window_size: usize,
}Expand description
Configuration for a NetworkCircuitBreaker.
Fields§
§failure_threshold: u32Number of failures (within the rolling window) required to trip the circuit from Closed → Open.
success_threshold: u32Number of consecutive successes in HalfOpen required to close the circuit (HalfOpen → Closed).
half_open_probes: u32Maximum number of concurrent probe requests allowed while in HalfOpen.
open_duration_us: u64Microseconds to wait in Open before transitioning to HalfOpen.
timeout_us: u64Per-request timeout in microseconds. Requests that take longer than
this are counted as failures via the guard’s Drop implementation.
sliding_window_size: usizeNumber of recent results tracked by the sliding-window failure-rate calculator.
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