pub struct RetryConfig {
pub max_retries: usize,
pub initial_backoff: Duration,
pub max_backoff: Duration,
pub backoff_multiplier: f64,
pub jitter: bool,
pub circuit_breaker: bool,
pub circuit_breaker_threshold: usize,
pub circuit_breaker_timeout: Duration,
}Expand description
Retry strategy configuration
Fields§
§max_retries: usizeMaximum number of retry attempts
initial_backoff: DurationInitial backoff duration
max_backoff: DurationMaximum backoff duration
backoff_multiplier: f64Backoff multiplier for exponential backoff
jitter: boolWhether to add jitter to backoff
circuit_breaker: boolWhether to enable circuit breaker
circuit_breaker_threshold: usizeCircuit breaker failure threshold
circuit_breaker_timeout: DurationCircuit breaker timeout duration
Implementations§
Source§impl RetryConfig
impl RetryConfig
Sourcepub fn with_max_retries(self, max_retries: usize) -> Self
pub fn with_max_retries(self, max_retries: usize) -> Self
Sets the maximum number of retries
Sourcepub fn with_initial_backoff(self, duration: Duration) -> Self
pub fn with_initial_backoff(self, duration: Duration) -> Self
Sets the initial backoff duration
Sourcepub fn with_max_backoff(self, duration: Duration) -> Self
pub fn with_max_backoff(self, duration: Duration) -> Self
Sets the maximum backoff duration
Sourcepub fn with_backoff_multiplier(self, multiplier: f64) -> Self
pub fn with_backoff_multiplier(self, multiplier: f64) -> Self
Sets the backoff multiplier
Sourcepub fn with_jitter(self, jitter: bool) -> Self
pub fn with_jitter(self, jitter: bool) -> Self
Enables or disables jitter
Sourcepub fn with_circuit_breaker(self, enabled: bool) -> Self
pub fn with_circuit_breaker(self, enabled: bool) -> Self
Enables or disables circuit breaker
Trait Implementations§
Source§impl Clone for RetryConfig
impl Clone for RetryConfig
Source§fn clone(&self) -> RetryConfig
fn clone(&self) -> RetryConfig
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 RetryConfig
impl Debug for RetryConfig
Auto Trait Implementations§
impl Freeze for RetryConfig
impl RefUnwindSafe for RetryConfig
impl Send for RetryConfig
impl Sync for RetryConfig
impl Unpin for RetryConfig
impl UnsafeUnpin for RetryConfig
impl UnwindSafe for RetryConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreCreates a shared type from an unshared type.