use std::{default::Default, time::Duration};
#[derive(Clone, Debug)]
pub struct PingConfig {
pub ping_interval: Duration,
pub rtt_initial_estimate: Duration,
pub jitter_initial_estimate: Duration,
pub rtt_smoothing_factor: f32,
}
impl PingConfig {
pub fn new(
ping_interval: Duration,
rtt_initial_estimate: Duration,
jitter_initial_estimate: Duration,
rtt_smoothing_factor: f32,
) -> Self {
PingConfig {
ping_interval,
rtt_initial_estimate,
jitter_initial_estimate,
rtt_smoothing_factor,
}
}
}
impl Default for PingConfig {
fn default() -> Self {
Self {
ping_interval: Duration::from_secs(1),
rtt_initial_estimate: Duration::from_millis(200),
jitter_initial_estimate: Duration::from_millis(20),
rtt_smoothing_factor: 0.1,
}
}
}