pub struct ProviderCircuit {
pub provider_id: String,
pub breaker: CircuitBreaker,
pub total_calls: u64,
pub total_failures: u64,
}Expand description
Circuit breaker and lifetime call statistics for one provider.
Fields§
§provider_id: String§breaker: CircuitBreaker§total_calls: u64§total_failures: u64Implementations§
Source§impl ProviderCircuit
impl ProviderCircuit
Sourcepub fn new(provider_id: String) -> Self
pub fn new(provider_id: String) -> Self
Creates provider state using the standard kernel breaker settings.
Sourcepub fn is_available(&mut self) -> bool
pub fn is_available(&mut self) -> bool
Returns whether the provider circuit currently permits a call.
Sourcepub fn record_outcome(&mut self, success: bool)
pub fn record_outcome(&mut self, success: bool)
Records a completed provider call and updates circuit state.
Trait Implementations§
Source§impl Clone for ProviderCircuit
impl Clone for ProviderCircuit
Source§fn clone(&self) -> ProviderCircuit
fn clone(&self) -> ProviderCircuit
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ProviderCircuit
impl RefUnwindSafe for ProviderCircuit
impl Send for ProviderCircuit
impl Sync for ProviderCircuit
impl Unpin for ProviderCircuit
impl UnsafeUnpin for ProviderCircuit
impl UnwindSafe for ProviderCircuit
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more