#[derive(Clone, Debug)]
pub struct ResilienceConfig {
pub max_attempts: usize,
pub base_delay_ms: u64,
pub max_delay_ms: u64,
pub jitter: bool,
}
const DEFAULT_MAX_ATTEMPTS: usize = 3;
const DEFAULT_BASE_DELAY_MS: u64 = 200;
const DEFAULT_MAX_DELAY_MS: u64 = 2_000;
impl ResilienceConfig {
pub fn defaults() -> Self {
Self {
max_attempts: DEFAULT_MAX_ATTEMPTS,
base_delay_ms: DEFAULT_BASE_DELAY_MS,
max_delay_ms: DEFAULT_MAX_DELAY_MS,
jitter: true,
}
}
}