pub struct CircuitBreaker { /* private fields */ }Expand description
Circuit breaker for fault isolation.
Implementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub fn with_config(config: CircuitBreakerConfig) -> Arc<Self>
pub fn with_config(config: CircuitBreakerConfig) -> Arc<Self>
Create with custom config.
Sourcepub fn state(&self) -> CircuitState
pub fn state(&self) -> CircuitState
Get current state.
Sourcepub fn is_allowed(&self) -> bool
pub fn is_allowed(&self) -> bool
Check if circuit allows requests.
Sourcepub fn record_success(&self)
pub fn record_success(&self)
Record a successful operation.
Sourcepub fn record_failure(&self)
pub fn record_failure(&self)
Record a failed operation.
Sourcepub fn record_rejection(&self)
pub fn record_rejection(&self)
Record a rejection (request not attempted due to open circuit).
Sourcepub async fn execute<F, Fut, T, E>(&self, operation: F) -> Result<T>
pub async fn execute<F, Fut, T, E>(&self, operation: F) -> Result<T>
Execute an operation with circuit breaker protection.
Sourcepub fn stats(&self) -> CircuitBreakerStats
pub fn stats(&self) -> CircuitBreakerStats
Get circuit breaker statistics.
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> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.