pub struct CircuitBreakerConfig {
pub failure_threshold: u32,
pub failure_window: Duration,
pub open_timeout: Duration,
pub success_threshold: u32,
}Expand description
Circuit breaker configuration
Fields§
§failure_threshold: u32Number of failures to trigger circuit open
failure_window: DurationTime window for counting failures
open_timeout: DurationHow long to keep circuit open before trying half-open
success_threshold: u32Number of successful requests to close from half-open
Implementations§
Source§impl CircuitBreakerConfig
impl CircuitBreakerConfig
Sourcepub fn from_env() -> CircuitBreakerConfig
pub fn from_env() -> CircuitBreakerConfig
Create config from environment variables with sensible defaults.
Environment variables:
CIRCUIT_FAILURE_THRESHOLD: Number of failures to trigger open (default: 5)CIRCUIT_FAILURE_WINDOW_SECS: Time window for counting failures (default: 5)CIRCUIT_OPEN_TIMEOUT_SECS: How long circuit stays open (default: 5)CIRCUIT_SUCCESS_THRESHOLD: Successes needed to close from half-open (default: 2)
Lab environments (single machine): Use defaults or lower values (1-5s) Production environments: Consider higher values (10-30s) for network variability
Trait Implementations§
Source§impl Clone for CircuitBreakerConfig
impl Clone for CircuitBreakerConfig
Source§fn clone(&self) -> CircuitBreakerConfig
fn clone(&self) -> CircuitBreakerConfig
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 CircuitBreakerConfig
impl Debug for CircuitBreakerConfig
Source§impl Default for CircuitBreakerConfig
impl Default for CircuitBreakerConfig
Source§fn default() -> CircuitBreakerConfig
fn default() -> CircuitBreakerConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CircuitBreakerConfig
impl RefUnwindSafe for CircuitBreakerConfig
impl Send for CircuitBreakerConfig
impl Sync for CircuitBreakerConfig
impl Unpin for CircuitBreakerConfig
impl UnsafeUnpin for CircuitBreakerConfig
impl UnwindSafe for CircuitBreakerConfig
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<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