feat(pinger): Configurable tick interval

This commit is contained in:
Nils Andreas Svee committed 2026-02-22 12:13:14 +07:00
1 parent 489e3f45f7
commit fa370b323b
2 files changed
+3 -2

No files matched your search

+1 -1
View File
@@ -139,7 +139,7 @@ fn main() -> anyhow::Result<()> {
let reflector_peers_lock_clone = reflector_peers_lock.clone(); let reflector_peers_lock_clone = reflector_peers_lock.clone();
let sender_handle = thread::Builder::new().name("sender".to_string()).spawn( let sender_handle = thread::Builder::new().name("sender".to_string()).spawn(
move || -> anyhow::Result<()> { move || -> anyhow::Result<()> {
pinger_sender.send(id, config.measurement_type, reflector_peers_lock_clone) pinger_sender.send(id, config.measurement_type, reflector_peers_lock_clone, config.tick_interval)
}, },
)?; )?;
+2 -1
View File
@@ -91,11 +91,12 @@ pub trait PingSender {
id: u16, id: u16,
type_: MeasurementType, type_: MeasurementType,
reflectors_lock: Arc<RwLock<Vec<IpAddr>>>, reflectors_lock: Arc<RwLock<Vec<IpAddr>>>,
tick_interval: f64,
) -> anyhow::Result<()> { ) -> anyhow::Result<()> {
let mut socket = open_socket(type_)?; let mut socket = open_socket(type_)?;
let mut seq: u16 = 0; let mut seq: u16 = 0;
let tick_duration_ms: u16 = 500; let tick_duration_ms: u16 = (tick_interval * 1000.0) as u16;
loop { loop {
let reflectors_unlocked = reflectors_lock.read().unwrap(); let reflectors_unlocked = reflectors_lock.read().unwrap();