[package]
edition = "2021"
name = "zpinger"
version = "0.7.0"
authors = ["Zonda Yang <u226699@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async, protocol-agnostic latency probe library: TCP / UDP / HTTP(S) / WebSocket / DNS / MQTT / gRPC / HLS / TLS / NTP / STUN / TURN / RTSP / RTMP / QUIC"
homepage = "https://github.com/zondatw/knock_knock"
readme = "README.md"
keywords = [
"ping",
"latency",
"network",
"protocol",
"async",
]
categories = [
"network-programming",
"asynchronous",
]
license = "MIT"
repository = "https://github.com/zondatw/knock_knock"
[features]
_tls = [
"dep:rustls",
"dep:tokio-rustls",
"dep:rustls-pki-types",
"dep:webpki-roots",
]
all = [
"tcp",
"udp",
"dns",
"http",
"ws",
"mqtt",
"grpc",
"hls",
"tls",
"ntp",
"stun",
"turn",
"rtsp",
"rtmp",
"quic",
]
default = ["all"]
dns = []
grpc = [
"dep:tonic",
"dep:tonic-health",
]
hls = ["_tls"]
http = ["_tls"]
mqtt = ["_tls"]
ntp = []
quic = [
"dep:quinn",
"dep:rustls",
"dep:rustls-pki-types",
"dep:webpki-roots",
]
rtmp = ["_tls"]
rtsp = ["_tls"]
stun = []
tcp = []
tls = ["_tls"]
turn = []
udp = []
ws = [
"_tls",
"dep:tokio-tungstenite",
"dep:futures-util",
]
[lib]
name = "zpinger"
path = "src/lib.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.futures-util]
version = "0.3"
features = ["sink"]
optional = true
default-features = false
[dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-ring",
]
optional = true
default-features = false
[dependencies.regex]
version = "1"
[dependencies.rustls]
version = "0.23"
features = [
"std",
"ring",
"tls12",
"logging",
]
optional = true
default-features = false
[dependencies.rustls-pki-types]
version = "1"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"net",
"io-util",
"time",
"sync",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.tokio-tungstenite]
version = "0.24"
features = ["handshake"]
optional = true
default-features = false
[dependencies.tonic]
version = "0.12"
features = [
"channel",
"tls",
"tls-webpki-roots",
]
optional = true
default-features = false
[dependencies.tonic-health]
version = "0.12"
optional = true
default-features = false
[dependencies.webpki-roots]
version = "0.26"
optional = true
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
"net",
"io-util",
"time",
"sync",
]