pub struct CircuitBreaker {
Configuration: CircuitBreakerConfiguration,
FailureCount: u32,
IsOpen: bool,
}Expand description
Circuit breaker that wraps a transport to add fault-tolerance.
Tracks consecutive failures and opens the circuit when the
FailureThreshold is exceeded, preventing cascading failures.
Fields§
§Configuration: CircuitBreakerConfiguration§FailureCount: u32§IsOpen: boolImplementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub fn New(Configuration: CircuitBreakerConfiguration) -> Self
pub fn New(Configuration: CircuitBreakerConfiguration) -> Self
Creates a new circuit breaker with the given configuration.
Sourcepub fn RecordSuccess(&mut self)
pub fn RecordSuccess(&mut self)
Records a successful request, resetting the failure counter.
Sourcepub fn RecordFailure(&mut self)
pub fn RecordFailure(&mut self)
Records a failed request, potentially opening the circuit.
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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto 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