udp_client/
udp_client.rs

1use rperf3::{client::Client, Config, Protocol};
2use std::time::Duration;
3
4#[tokio::main]
5async fn main() -> Result<(), Box<dyn std::error::Error>> {
6    env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info")).init();
7
8    println!("Running UDP test with 50 Mbps target bandwidth...");
9
10    let config = Config::client("127.0.0.1".to_string(), 5201)
11        .with_protocol(Protocol::Udp)
12        .with_duration(Duration::from_secs(10))
13        .with_bandwidth(50 * 1_000_000) // 50 Mbps
14        .with_buffer_size(1024);
15
16    let client = Client::new(config)?;
17    client.run().await?;
18
19    let measurements = client.get_measurements();
20    println!(
21        "\nFinal Results: {:.2} Mbps",
22        measurements.total_bits_per_second() / 1_000_000.0
23    );
24
25    Ok(())
26}