pub struct CircuitRegistry { /* private fields */ }Expand description
Registry of circuit breakers for all modules.
Implementations§
Source§impl CircuitRegistry
impl CircuitRegistry
Sourcepub fn with_config(config: CircuitConfig) -> Self
pub fn with_config(config: CircuitConfig) -> Self
Creates a registry with custom default configuration.
Sourcepub fn get_or_create(&self, module_name: &str) -> Arc<CircuitBreaker>
pub fn get_or_create(&self, module_name: &str) -> Arc<CircuitBreaker>
Gets or creates a circuit breaker for a module.
Sourcepub fn register(&self, module_name: &str, config: CircuitConfig)
pub fn register(&self, module_name: &str, config: CircuitConfig)
Registers a module with custom configuration.
Sourcepub fn can_execute(&self, module_name: &str) -> bool
pub fn can_execute(&self, module_name: &str) -> bool
Checks if a request can proceed.
Sourcepub fn record_success(&self, module_name: &str)
pub fn record_success(&self, module_name: &str)
Records a success.
Sourcepub fn record_failure(&self, module_name: &str)
pub fn record_failure(&self, module_name: &str)
Records a failure.
Sourcepub fn stats(&self, module_name: &str) -> Option<CircuitStats>
pub fn stats(&self, module_name: &str) -> Option<CircuitStats>
Returns statistics for a module.
Sourcepub fn all_stats(&self) -> Vec<(String, CircuitStats)>
pub fn all_stats(&self) -> Vec<(String, CircuitStats)>
Returns all circuit breaker stats.
Sourcepub fn circuit_count(&self) -> usize
pub fn circuit_count(&self) -> usize
Returns the number of registered circuits.
Sourcepub fn open_circuit_count(&self) -> usize
pub fn open_circuit_count(&self) -> usize
Returns the number of open circuits.
Trait Implementations§
Source§impl Debug for CircuitRegistry
impl Debug for CircuitRegistry
Auto Trait Implementations§
impl Freeze for CircuitRegistry
impl !RefUnwindSafe for CircuitRegistry
impl Send for CircuitRegistry
impl Sync for CircuitRegistry
impl Unpin for CircuitRegistry
impl UnsafeUnpin for CircuitRegistry
impl UnwindSafe for CircuitRegistry
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