fumble 0.6.1

an oxidized implementation of the original clumsy tool, designed to simulate adverse network conditions on Windows systems.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use log::info;

pub fn log_statistics(received: usize, sent: usize) {
    let dropped = received.saturating_sub(sent); // Number of dropped packets
    let dropped_percentage = if received > 0 {
        (dropped as f64 / received as f64) * 100.0
    } else {
        0.0
    };
    info!(
        "Received Packets: {}, Sent Packets: {}, Skipped Packets: {} - {:.2}%",
        received, sent, dropped, dropped_percentage
    );
}