pub enum CircuitState {
Closed,
Open,
HalfOpen,
}Expand description
Circuit breaker state machine.
Prevents routing to a failing provider by tracking consecutive failures:
- Closed: Normal operation. Failures increment a counter.
- Open: Too many failures. All requests are rejected until cooldown expires.
- HalfOpen: Cooldown expired. One probe request is allowed through. Success -> Closed. Failure -> Open (reset cooldown).
Variants§
Closed
Normal operation – requests pass through.
Open
Circuit tripped – requests are rejected.
HalfOpen
Cooldown expired – one probe request allowed.
Trait Implementations§
Source§impl Clone for CircuitState
impl Clone for CircuitState
Source§fn clone(&self) -> CircuitState
fn clone(&self) -> CircuitState
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 CircuitState
impl Debug for CircuitState
Source§impl Display for CircuitState
impl Display for CircuitState
Source§impl PartialEq for CircuitState
impl PartialEq for CircuitState
impl Copy for CircuitState
impl Eq for CircuitState
impl StructuralPartialEq for CircuitState
Auto Trait Implementations§
impl Freeze for CircuitState
impl RefUnwindSafe for CircuitState
impl Send for CircuitState
impl Sync for CircuitState
impl Unpin for CircuitState
impl UnsafeUnpin for CircuitState
impl UnwindSafe for CircuitState
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