pub struct CircuitBreaker { /* private fields */ }Expand description
Circuit breaker for fault isolation.
Implementations§
Source§impl CircuitBreaker
impl CircuitBreaker
Sourcepub fn new() -> Arc<CircuitBreaker>
pub fn new() -> Arc<CircuitBreaker>
Create a new circuit breaker with default config.
Sourcepub fn with_config(config: CircuitBreakerConfig) -> Arc<CircuitBreaker>
pub fn with_config(config: CircuitBreakerConfig) -> Arc<CircuitBreaker>
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, RingKernelError>
pub async fn execute<F, Fut, T, E>( &self, operation: F, ) -> Result<T, RingKernelError>
Execute an operation with circuit breaker protection.
Sourcepub fn stats(&self) -> CircuitBreakerStats
pub fn stats(&self) -> CircuitBreakerStats
Get circuit breaker statistics.
Trait Implementations§
Source§impl Default for CircuitBreaker
impl Default for CircuitBreaker
Source§fn default() -> CircuitBreaker
fn default() -> CircuitBreaker
Returns the “default value” for a type. Read more
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> 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 moreSource§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.