use std::time::Duration;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
pub struct Config {
#[serde(with = "humantime_serde")]
pub initial_interval: Duration,
#[serde(with = "humantime_serde")]
pub max_interval: Duration,
pub multiplier: f64,
pub max_retries: u64,
}
impl Default for Config {
fn default() -> Self {
Self {
initial_interval: Duration::from_millis(100),
max_interval: Duration::from_secs(30),
multiplier: 2.0,
max_retries: 5,
}
}
}