[package] name = "irtt-client" version = "0.5.3" description = "IRTT-compatible Rust client library" edition.workspace = true license.workspace = true rust-version.workspace = true repository.workspace = true homepage.workspace = true readme = "README.md" keywords = ["irtt", "networking", "latency", "rtt"] categories = ["network-programming"] [dependencies] irtt-proto.workspace = true socket2 = { version = "0.6.5", features = ["all"] } thiserror = "2.0.21" tokio = { version = "1.53.1", default-features = false, features = ["rt", "net", "time", "sync"], optional = true} [target.'cfg(target_os = "linux")'.dependencies] nix = { version = "0.31.3", default-features = false, features = ["net", "uio"], optional = true } [features] default = [] ancillary = ["dep:nix"] tokio = ["dep:tokio"] [package.metadata.docs.rs] all-features = true cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"] [[example]] name = "blocking_client" doc-scrape-examples = true [[example]] name = "tokio_client" required-features = ["tokio"] doc-scrape-examples = true [[example]] name = "managed_client" required-features = ["tokio"] doc-scrape-examples = true [dev-dependencies] # Keep the packaged client testable against the latest published server while # workspace tests continue to exercise the local source through this path. irtt-server = { version = "0.5.1", path = "../irtt-server" } tokio = { version = "1.53.1", default-features = false, features = ["rt", "sync"] }