client/
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!("Connecting to rperf3 server at 127.0.0.1:5201...");
9
10    let config = Config::client("127.0.0.1".to_string(), 5201)
11        .with_protocol(Protocol::Tcp)
12        .with_duration(Duration::from_secs(10))
13        .with_buffer_size(128 * 1024);
14
15    let client = Client::new(config)?;
16    client.run().await?;
17
18    let measurements = client.get_measurements();
19    println!(
20        "\nFinal Results: {:.2} Mbps",
21        measurements.total_bits_per_second() / 1_000_000.0
22    );
23
24    Ok(())
25}