pub struct CircuitBreaker { /* private fields */ }Expand description
Circuit breaker for a kernel
Implementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub fn new(kernel_id: impl Into<String>, config: CircuitBreakerConfig) -> Self
pub fn new(kernel_id: impl Into<String>, config: CircuitBreakerConfig) -> Self
Create a new circuit breaker
Sourcepub async fn state(&self) -> CircuitState
pub async fn state(&self) -> CircuitState
Get current state
Sourcepub async fn is_allowed(&self) -> bool
pub async fn is_allowed(&self) -> bool
Check if requests are allowed
Sourcepub async fn execute<F, Fut, T, E>(&self, f: F) -> ResilienceResult<T>
pub async fn execute<F, Fut, T, E>(&self, f: F) -> ResilienceResult<T>
Execute a function with circuit breaker protection
Sourcepub async fn record_success(&self)
pub async fn record_success(&self)
Manually record a success
Sourcepub async fn record_failure(&self)
pub async fn record_failure(&self)
Manually record a failure
Sourcepub fn stats(&self) -> CircuitBreakerStats
pub fn stats(&self) -> CircuitBreakerStats
Get 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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.