pub struct RetryConfig {
pub initial_delay_ms: u64,
pub max_delay_ms: u64,
pub multiplier: u64,
pub max_attempts: u32,
pub max_elapsed_secs: u64,
pub jitter: JitterKind,
}Expand description
Configures retry behavior for a specific failure domain.
Use the named constructors (Self::sqlite_busy, Self::llm_rate_limit,
Self::cold_start) for pre-tuned policies. All timing values are in
milliseconds except max_elapsed_secs which is in seconds.
Fields§
§initial_delay_ms: u64Base delay for the first retry attempt (ms).
max_delay_ms: u64Upper bound on any single delay (ms).
multiplier: u64Multiplicative factor applied per attempt.
max_attempts: u32Hard cap on total attempts (0 = unlimited, use deadline).
max_elapsed_secs: u64Total elapsed wall-clock time before giving up (seconds).
jitter: JitterKindJitter strategy applied to computed delays.
Implementations§
Source§impl RetryConfig
impl RetryConfig
Sourcepub fn sqlite_busy() -> Self
pub fn sqlite_busy() -> Self
SQLite BUSY retry: 5 attempts, 300ms base, half-jitter, 30s deadline.
Sourcepub fn llm_rate_limit() -> Self
pub fn llm_rate_limit() -> Self
LLM rate-limit retry: 60s base, 900s cap, half-jitter, 1h deadline.
Sourcepub fn cold_start() -> Self
pub fn cold_start() -> Self
Cold-start retry: 2s base, 2 attempts, no jitter, 30s deadline.
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 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto 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 more