pub struct RetryPolicy {
pub max_attempts: usize,
pub base_delay: Duration,
pub max_delay: Duration,
/* private fields */
}Expand description
Retry policy configuration for RunnableRetry.
Controls how many times to retry, the backoff schedule, and which errors are eligible for retrying.
Fields§
§max_attempts: usizeMaximum number of attempts (including the initial attempt).
base_delay: DurationBase delay for exponential backoff. The actual delay for attempt n is
min(base_delay * 2^n, max_delay).
max_delay: DurationUpper bound on the backoff delay.
Implementations§
Source§impl RetryPolicy
impl RetryPolicy
Sourcepub fn with_max_attempts(self, max_attempts: usize) -> Self
pub fn with_max_attempts(self, max_attempts: usize) -> Self
Set the maximum number of attempts (including the initial attempt).
Sourcepub fn with_base_delay(self, base_delay: Duration) -> Self
pub fn with_base_delay(self, base_delay: Duration) -> Self
Set the base delay for exponential backoff.
Sourcepub fn with_max_delay(self, max_delay: Duration) -> Self
pub fn with_max_delay(self, max_delay: Duration) -> Self
Set the upper bound on the backoff delay.
Sourcepub fn with_retry_on(
self,
predicate: impl Fn(&SynapticError) -> bool + Send + Sync + 'static,
) -> Self
pub fn with_retry_on( self, predicate: impl Fn(&SynapticError) -> bool + Send + Sync + 'static, ) -> Self
Set a predicate to decide which errors are retryable. When not set, all errors are retried.
Trait Implementations§
Source§impl Debug for RetryPolicy
impl Debug for RetryPolicy
Auto Trait Implementations§
impl Freeze for RetryPolicy
impl !RefUnwindSafe for RetryPolicy
impl Send for RetryPolicy
impl Sync for RetryPolicy
impl Unpin for RetryPolicy
impl UnsafeUnpin for RetryPolicy
impl !UnwindSafe for RetryPolicy
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