[package] name = "veloren-network" version = "0.3.0" authors = ["Marcel Märtens "] 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"