pub struct CircuitBreakerConfig {
pub failure_threshold: u32,
pub success_threshold: u32,
pub reset_timeout: Duration,
pub window_size: Duration,
pub half_open_max_requests: u32,
}Expand description
Circuit breaker configuration
Fields§
§failure_threshold: u32Number of failures before opening circuit
success_threshold: u32Number of successes to close circuit from half-open
reset_timeout: DurationTime to wait before transitioning from open to half-open
window_size: DurationSliding window size for tracking failures
half_open_max_requests: u32Maximum concurrent requests in half-open state
Implementations§
Source§impl CircuitBreakerConfig
impl CircuitBreakerConfig
Sourcepub fn production() -> Self
pub fn production() -> Self
Production configuration with conservative settings
Sourcepub fn failure_threshold(self, threshold: u32) -> Self
pub fn failure_threshold(self, threshold: u32) -> Self
Set failure threshold
Sourcepub fn success_threshold(self, threshold: u32) -> Self
pub fn success_threshold(self, threshold: u32) -> Self
Set success threshold for closing
Sourcepub fn reset_timeout(self, timeout: Duration) -> Self
pub fn reset_timeout(self, timeout: Duration) -> Self
Set reset timeout
Sourcepub fn window_size(self, size: Duration) -> Self
pub fn window_size(self, size: Duration) -> Self
Set sliding window size
Sourcepub fn half_open_max_requests(self, max: u32) -> Self
pub fn half_open_max_requests(self, max: u32) -> Self
Set max requests in half-open state
Trait Implementations§
Source§impl Clone for CircuitBreakerConfig
impl Clone for CircuitBreakerConfig
Source§fn clone(&self) -> CircuitBreakerConfig
fn clone(&self) -> CircuitBreakerConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CircuitBreakerConfig
impl Debug for CircuitBreakerConfig
Source§impl Default for CircuitBreakerConfig
impl Default for CircuitBreakerConfig
Source§impl<'de> Deserialize<'de> for CircuitBreakerConfig
impl<'de> Deserialize<'de> for CircuitBreakerConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CircuitBreakerConfig
impl RefUnwindSafe for CircuitBreakerConfig
impl Send for CircuitBreakerConfig
impl Sync for CircuitBreakerConfig
impl Unpin for CircuitBreakerConfig
impl UnwindSafe for CircuitBreakerConfig
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.