pub struct CircuitBreakerStateManager {
pub state: CircuitBreakerState,
pub failure_count: u32,
pub success_count: u32,
pub half_open_requests: u32,
pub opened_at: Option<Instant>,
pub half_open_at: Option<Instant>,
pub total_requests: u64,
pub total_failures: u64,
pub trip_count: u64,
}Expand description
Circuit breaker state management
Fields§
§state: CircuitBreakerStateCurrent state of the circuit breaker
failure_count: u32Number of consecutive failures
success_count: u32Number of consecutive successes in half-open state
half_open_requests: u32Number of requests made in half-open state
opened_at: Option<Instant>Timestamp when circuit was opened
half_open_at: Option<Instant>Timestamp when circuit entered half-open state
total_requests: u64Total number of requests processed
total_failures: u64Total number of failures recorded
trip_count: u64Total number of circuit breaker trips
Implementations§
Source§impl CircuitBreakerStateManager
impl CircuitBreakerStateManager
Sourcepub fn record_success(&mut self)
pub fn record_success(&mut self)
Record a successful request
Sourcepub fn record_failure(&mut self)
pub fn record_failure(&mut self)
Record a failed request
Sourcepub fn should_allow_request(&self) -> bool
pub fn should_allow_request(&self) -> bool
Check if circuit breaker should allow request
Trait Implementations§
Source§impl Debug for CircuitBreakerStateManager
impl Debug for CircuitBreakerStateManager
Auto Trait Implementations§
impl Freeze for CircuitBreakerStateManager
impl RefUnwindSafe for CircuitBreakerStateManager
impl Send for CircuitBreakerStateManager
impl Sync for CircuitBreakerStateManager
impl Unpin for CircuitBreakerStateManager
impl UnwindSafe for CircuitBreakerStateManager
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
Source§impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
impl<C, E> EntryToVal<C> for Ewhere
C: Collection<Entry = E>,
Source§type Val = <C as Collection>::Val
type Val = <C as Collection>::Val
The type of values stored in the collection. This might be distinct from
Entry in complex collections.
For example, in a HashMap, while Entry might be a ( key, value ) tuple, Val might only be the value part.Source§fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
fn entry_to_val(self) -> <E as EntryToVal<C>>::Val
Converts an entry into a value representation specific to the type of collection. This conversion is crucial
for handling operations on entries, especially when they need to be treated or accessed as individual values,
such as retrieving the value part from a key-value pair in a hash map.
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> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
impl<C, Val> ValToEntry<C> for Valwhere
C: CollectionValToEntry<Val>,
Source§fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
fn val_to_entry(self) -> <C as CollectionValToEntry<Val>>::Entry
Invokes the val_to_entry function of the CollectionValToEntry trait to convert the value to an entry.
Source§type Entry = <C as CollectionValToEntry<Val>>::Entry
type Entry = <C as CollectionValToEntry<Val>>::Entry
Represents the type of entry that corresponds to the value within the collection.
Type
Entry is defined by the Collection trait.