pub struct CircuitBreaker { /* private fields */ }Expand description
Circuit breaker for a provider.
Implementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub fn new(config: CircuitBreakerConfig) -> Self
pub fn new(config: CircuitBreakerConfig) -> Self
Create a new circuit breaker.
Sourcepub fn allow_request(&self) -> bool
pub fn allow_request(&self) -> bool
Check if the circuit allows a request.
Sourcepub fn record_success(&self)
pub fn record_success(&self)
Record a successful request.
Sourcepub fn record_failure(&self)
pub fn record_failure(&self)
Record a failed request.
Sourcepub fn record_result(&self, result: &Result<(), SimpleAgentsError>)
pub fn record_result(&self, result: &Result<(), SimpleAgentsError>)
Record a result to update circuit state.
Sourcepub fn state(&self) -> CircuitBreakerState
pub fn state(&self) -> CircuitBreakerState
Current circuit state.
Trait Implementations§
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