pub struct CircuitBreaker<E> { /* private fields */ }Expand description
Circuit breaker configuration + (after build) live state.
Build with CircuitBreaker::consecutive_failures or
CircuitBreaker::failure_ratio. record_when (optional) decides which
operation errors count as breaker faults; by default every error counts.
Implementations§
Source§impl<E> CircuitBreaker<E>
impl<E> CircuitBreaker<E>
Sourcepub fn consecutive_failures(n: u32) -> Self
pub fn consecutive_failures(n: u32) -> Self
Trip after n consecutive failures.
Sourcepub fn failure_ratio() -> Self
pub fn failure_ratio() -> Self
Trip when the failure ratio over a sampling window is exceeded.
pub fn failure_ratio_value(self, ratio: f64) -> Self
Sourcepub fn ratio(self, ratio: f64) -> Self
pub fn ratio(self, ratio: f64) -> Self
Alias matching the spec’s fluent name .failure_ratio(0.5).
pub fn minimum_throughput(self, n: u32) -> Self
pub fn sampling_window(self, d: Duration) -> Self
pub fn open_for(self, d: Duration) -> Self
pub fn half_open_max_calls(self, n: u32) -> Self
pub fn record_when( self, pred: impl Fn(&E) -> bool + Send + Sync + 'static, ) -> Self
Trait Implementations§
Auto Trait Implementations§
impl<E> !RefUnwindSafe for CircuitBreaker<E>
impl<E> !UnwindSafe for CircuitBreaker<E>
impl<E> Freeze for CircuitBreaker<E>
impl<E> Send for CircuitBreaker<E>
impl<E> Sync for CircuitBreaker<E>
impl<E> Unpin for CircuitBreaker<E>
impl<E> UnsafeUnpin for CircuitBreaker<E>
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