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 mut client = ClientBuilder::new("my-app", "0.1.0").build();
let handle = client.start_download(None).await?;
println!("connected to {}", handle.server_fqdn);
let mut rx = handle.rx;
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.