use std::time::Instant;
use crate::utils::net_utils::IntervalResult;
pub fn print_result(test_result: &IntervalResult) {
let elapsed = test_result.time.as_secs_f64();
let mbps = if elapsed > 0.0 {
(test_result.bytes as f64 * 8.0) / elapsed / 1_000_000.0
} else {
0.0
};
println!(
" Elapsed {:.2}s | Recv {} pkts | Lost {} | OOO {} | Jitter {:.3} ms | Rate {:.3} Mbps",
elapsed,
test_result.received,
test_result.lost,
test_result.out_of_order,
test_result.jitter_ms,
mbps
);
}
pub fn client_period_report(start: Instant, payload: usize, seq: usize) {
let elapsed = start.elapsed().as_secs_f64();
let sent_bytes = (seq as usize * payload) as f64;
let mbps = (sent_bytes * 8.0) / elapsed / 1_000_000.0;
println!(
"Elapsed {:.2}s | Sent {} pkts | est rate {:.3} Mbps",
elapsed, seq, mbps
);
}