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) .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}