veloren/network/Cargo.toml
2024-07-23 11:59:15 +00:00

92 lines
2.2 KiB
TOML

[package]
name = "veloren-network"
version = "0.3.0"
authors = ["Marcel Märtens <marcel.cochem@googlemail.com>"]
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
metrics = ["prometheus", "network-protocol/metrics"]
compression = ["lz-fear"]
quic = ["quinn"]
default = ["metrics", "compression", "quic"]
[dependencies]
network-protocol = { package = "veloren-network-protocol", path = "protocol" }
#serialisation
bincode = { workspace = true }
serde = { workspace = true }
#ipv4/ipv6 behavior
socket2 = "0.5.2"
#sending
crossbeam-channel = { workspace = true }
tokio = { workspace = true, features = ["io-util", "macros", "net", "time"] }
tokio-stream = { version = "0.1.2", default-features = false }
#tracing and metrics
tracing = { workspace = true }
prometheus = { workspace = true, optional = true }
#async
futures-util = { workspace = true, features = ["std"] }
async-channel = "2.1" #use for .close() channels
#mpsc channel registry
lazy_static = { workspace = true }
rand = { workspace = true }
#quic support
quinn = { workspace = true, optional = true }
rustls = { workspace = true }
lz-fear = { version = "0.2", optional = true }
# async traits
async-trait = { workspace = true }
bytes = "^1"
# faster HashMaps
hashbrown = { workspace = true }
[dev-dependencies]
tracing-subscriber = { version = "0.3.7", default-features = false, features = [
"env-filter",
"fmt",
"time",
"ansi",
"smallvec",
] }
tokio = { workspace = true, default-features = false, features = [
"io-std",
"fs",
"rt-multi-thread",
] }
futures-util = { workspace = true, default-features = false, features = [
"sink",
"std",
] }
clap = { workspace = true }
shellexpand = "3.1.0"
serde = { version = "1.0", features = ["derive"] }
prometheus-hyper = { workspace = true }
criterion = { version = "0.5.1", default-features = false, features = [
"rayon",
"cargo_bench_support",
"async_tokio",
] }
#quic
rcgen = { version = "0.13.1" }
[[bench]]
name = "speed"
harness = false
[[example]]
name = "fileshare"
[[example]]
name = "network_speed"
[[example]]
name = "chat"
[[example]]
name = "tcp_loadtest"