pub struct CircuitBreakerConfig {
pub failure_threshold: u32,
pub success_threshold: u32,
pub open_duration: Duration,
pub failure_window: Duration,
pub timeout_as_failure: bool,
pub server_error_as_failure: bool,
pub rate_limit_as_failure: bool,
}Expand description
Circuit breaker configuration
Fields§
§failure_threshold: u32Failure threshold before opening circuit
success_threshold: u32Success threshold to close circuit from half-open
open_duration: DurationDuration the circuit stays open before going to half-open
failure_window: DurationTime window to count failures
timeout_as_failure: boolTimeout considered as failure
server_error_as_failure: bool5xx errors considered as failure
rate_limit_as_failure: bool429 rate limit considered as failure
Implementations§
Source§impl CircuitBreakerConfig
impl CircuitBreakerConfig
Sourcepub fn production() -> Self
pub fn production() -> Self
Production preset - more tolerant, longer recovery
Sourcepub fn aggressive() -> Self
pub fn aggressive() -> Self
Aggressive preset - quick to open, quick to recover
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
Auto Trait Implementations§
impl Freeze for CircuitBreakerConfig
impl RefUnwindSafe for CircuitBreakerConfig
impl Send for CircuitBreakerConfig
impl Sync for CircuitBreakerConfig
impl Unpin 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