pub struct RetryConfig {
pub max_attempts: u32,
pub base_backoff: Duration,
pub max_rate_limit_wait: Duration,
pub retry_mutations_on_transient: bool,
}Expand description
Retry policy. Defaults are safe for non-idempotent mutations: Linear has
no idempotency keys, so mutations are not retried on post-send
transport errors or 5xx unless
retry_mutations_on_transient
is opted into. Rate-limit rejections happen before execution and are
always retried (within max_rate_limit_wait).
Fields§
§max_attempts: u32Total attempts including the first (default 3 = 1 initial + 2 retries).
base_backoff: DurationBase for exponential backoff with full jitter (default 250ms, doubling per attempt, capped at 8s).
max_rate_limit_wait: DurationLongest rate-limit wait to sit out in-process (default 30s). Longer
waits fail fast with Error::RateLimited instead of parking the
caller.
retry_mutations_on_transient: boolAlso retry mutations on post-send transport errors / 5xx (default
false; a timed-out issueCreate may have landed — blind retries
can double-create).
Trait Implementations§
Source§impl Clone for RetryConfig
impl Clone for RetryConfig
Source§fn clone(&self) -> RetryConfig
fn clone(&self) -> RetryConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more