Skip to main content

Crate ndt7_client

Crate ndt7_client 

Source
Expand description

An ndt7 speed test client library.

ndt7 is a network performance measurement protocol developed by M-Lab. It measures download and upload throughput over WebSocket connections and reports TCP-level metrics such as latency and retransmission.

§Quick start

use ndt7_client::client::ClientBuilder;

let client = ClientBuilder::new("my-app", "0.1.0").build();
let targets = client.locate_test_targets().await?;

if let Some(url) = &targets.download_url {
    let mut rx = client.start_download(url).await?;
    while let Some(result) = rx.recv().await {
        match result {
            Ok(m) => println!("{:?}", m),
            Err(e) => eprintln!("error: {e}"),
        }
    }
}

Modules§

client
High-level ndt7 test client.
download
ndt7 download test implementation.
emitter
Output formatting for test events.
error
Error types for the ndt7 client.
locate
M-Lab Locate API client.
params
Protocol constants and tuning parameters.
spec
ndt7 protocol data types.
summary
Post-test summary computation.
upload
ndt7 upload test implementation.