pub struct RetryConfig {
pub max_retries: u32,
pub initial_delay_ms: u64,
pub max_delay_ms: u64,
pub backoff_multiplier: f32,
pub outbox_max_lifetime_ms: u64,
pub pending_message_max_lifetime_ms: u64,
}Expand description
Configuration for retry behavior.
Fields§
§max_retries: u32Maximum number of retries per message.
initial_delay_ms: u64Initial retry delay in milliseconds.
max_delay_ms: u64Maximum retry delay in milliseconds.
backoff_multiplier: f32Backoff multiplier for exponential backoff.
outbox_max_lifetime_ms: u64Maximum lifetime for messages in the outbox (milliseconds).
pending_message_max_lifetime_ms: u64Maximum lifetime for messages waiting on MLS session establishment.
Implementations§
Source§impl RetryConfig
impl RetryConfig
Sourcepub fn delay_for_retry(&self, retry_count: u32) -> u64
pub fn delay_for_retry(&self, retry_count: u32) -> u64
Calculates the backoff delay for the given retry count:
initial_delay_ms * backoff_multiplier^retry_count, clamped to
max_delay_ms.
Computed in f64 and clamped before the integer cast, so it is total
over all configs: f64::min returns the other operand when one side
is NaN (NaN/infinity collapse to max_delay_ms), and float-to-int
as casts saturate.
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 moreSource§impl Debug for RetryConfig
impl Debug for RetryConfig
Source§impl Default for RetryConfig
impl Default for RetryConfig
Source§fn default() -> RetryConfig
fn default() -> RetryConfig
Returns the “default value” for a type. Read more
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> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
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