modbus_relay/config/
backoff.rs1use std::time::Duration;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6#[serde(deny_unknown_fields)]
7pub struct Config {
8 #[serde(with = "humantime_serde")]
10 pub initial_interval: Duration,
11 #[serde(with = "humantime_serde")]
13 pub max_interval: Duration,
14 pub multiplier: f64,
16 pub max_retries: u64,
18}
19
20impl Default for Config {
21 fn default() -> Self {
22 Self {
23 initial_interval: Duration::from_millis(100),
24 max_interval: Duration::from_secs(30),
25 multiplier: 2.0,
26 max_retries: 5,
27 }
28 }
29}