pub struct CircuitBreaker { /* private fields */ }
Expand description
Simple circuit breaker implementation
Implementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub const fn new(failure_threshold: usize, recovery_timeout: Duration) -> Self
pub const fn new(failure_threshold: usize, recovery_timeout: Duration) -> Self
Create a new circuit breaker
Sourcepub async fn call<F, Fut, T, E>(
&self,
operation: F,
) -> Result<T, CircuitBreakerError<E>>
pub async fn call<F, Fut, T, E>( &self, operation: F, ) -> Result<T, CircuitBreakerError<E>>
Execute an operation through the circuit breaker
Sourcepub fn state(&self) -> CircuitState
pub fn state(&self) -> CircuitState
Get 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 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