pub struct CircuitBreaker { /* private fields */ }Expand description
Per-target circuit breaker with lazy recovery on read.
Implementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub fn new(config: CircuitBreakerConfig) -> Self
pub fn new(config: CircuitBreakerConfig) -> Self
Create a breaker in the Closed state.
Sourcepub fn state(&self) -> CircuitState
pub fn state(&self) -> CircuitState
Current stored state (does not apply lazy timeout recovery).
Sourcepub fn consecutive_failures(&self) -> u32
pub fn consecutive_failures(&self) -> u32
Consecutive failure count (for tests and diagnostics).
Sourcepub fn effective_state(&self, now_secs: u64) -> CircuitState
pub fn effective_state(&self, now_secs: u64) -> CircuitState
Effective state after applying lazy open→half-open recovery.
Sourcepub fn allow_request(&self, now_secs: u64) -> bool
pub fn allow_request(&self, now_secs: u64) -> bool
Whether a request may be sent to this target at now_secs.
Sourcepub fn record_success(&mut self, now_secs: u64)
pub fn record_success(&mut self, now_secs: u64)
Record a successful response.
Sourcepub fn record_failure(&mut self, now_secs: u64)
pub fn record_failure(&mut self, now_secs: u64)
Record a failed response.
Trait Implementations§
Source§impl Clone for CircuitBreaker
impl Clone for CircuitBreaker
Source§fn clone(&self) -> CircuitBreaker
fn clone(&self) -> CircuitBreaker
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 CircuitBreaker
impl Debug for CircuitBreaker
Source§impl<'de> Deserialize<'de> for CircuitBreaker
impl<'de> Deserialize<'de> for CircuitBreaker
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
impl Eq for CircuitBreaker
Source§impl PartialEq for CircuitBreaker
impl PartialEq for CircuitBreaker
Source§impl Serialize for CircuitBreaker
impl Serialize for CircuitBreaker
impl StructuralPartialEq for CircuitBreaker
Auto Trait Implementations§
impl Freeze for CircuitBreaker
impl RefUnwindSafe for CircuitBreaker
impl Send for CircuitBreaker
impl Sync for CircuitBreaker
impl Unpin for CircuitBreaker
impl UnsafeUnpin for CircuitBreaker
impl UnwindSafe for CircuitBreaker
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