[package]
edition = "2021"
name = "netem-trace"
version = "0.4.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A library for for generating network emulation trace."
homepage = "https://github.com/stack-rs/netem-trace"
documentation = "https://docs.rs/netem-trace"
readme = "README.md"
keywords = [
"emulation",
"trace",
"network",
"utility",
"model",
]
categories = [
"network-programming",
"config",
"development-tools",
"simulation",
]
license = "Apache-2.0"
repository = "https://github.com/stack-rs/netem-trace"
[package.metadata.docs.rs]
all-features = true
[features]
bw-model = [
"dep:rand",
"dep:rand_distr",
"dep:dyn-clone",
]
default = ["model"]
delay-model = ["dep:dyn-clone"]
delay-per-packet-model = ["dep:dyn-clone"]
duplicate-model = ["dep:dyn-clone"]
full = [
"model",
"mahimahi",
"human",
"truncated-normal",
"trace-ext",
]
human = [
"serde",
"dep:humantime-serde",
"dep:human-bandwidth",
"human-bandwidth/serde",
]
loss-model = ["dep:dyn-clone"]
mahimahi = ["dep:itertools"]
model = [
"bw-model",
"delay-model",
"delay-per-packet-model",
"loss-model",
"duplicate-model",
"rwnd-model",
]
rwnd-model = ["dep:dyn-clone"]
serde = [
"dep:serde",
"dep:typetag",
"bandwidth/serde",
]
trace-ext = [
"serde",
"dep:serde_json",
]
truncated-normal = ["statrs"]
[lib]
name = "netem_trace"
path = "src/lib.rs"
[[example]]
name = "plot_traces"
path = "examples/plot_traces.rs"
required-features = [
"trace-ext",
"model",
]
[dependencies.bandwidth]
version = "0.3.0"
[dependencies.dyn-clone]
version = "1.0.10"
optional = true
[dependencies.human-bandwidth]
version = "0.1.3"
optional = true
[dependencies.humantime-serde]
version = "1.1.1"
optional = true
[dependencies.itertools]
version = "0.14.0"
optional = true
[dependencies.rand]
version = "0.9.1"
optional = true
[dependencies.rand_distr]
version = "0.5.1"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.statrs]
version = "0.18.0"
optional = true
[dependencies.typetag]
version = "0.2.22"
optional = true
[dev-dependencies.figment]
version = "0.10.19"
features = ["json"]
[dev-dependencies.rand_chacha]
version = "0.9"
[dev-dependencies.serde_json]
version = "1.0"