[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 = "1.3.2" serde = { version = "1.0" } #ipv4/ipv6 behavior socket2 = "0.5.2" #sending crossbeam-channel = "0.5" tokio = { version = "1.20", default-features = false, features = ["io-util", "macros", "rt", "net", "time"] } tokio-stream = { version = "0.1.2", default-features = false } #tracing and metrics tracing = { version = "0.1", default-features = false, features = ["attributes"]} prometheus = { version = "0.13", default-features = false, optional = true } #async futures-core = { version = "0.3", default-features = false } futures-util = { version = "0.3.7", default-features = false, features = ["std"] } async-channel = "1.5.1" #use for .close() channels #mpsc channel registry lazy_static = { version = "1.4", default-features = false } rand = { version = "0.8" } #quic support quinn = { version = "0.8", optional = true } rustls = "0.20.1" #stream flags bitflags = "2.2.1" lz-fear = { version = "0.1.1", optional = true } # async traits async-trait = "0.1.42" bytes = "^1" # faster HashMaps hashbrown = { version = "0.13" } [dev-dependencies] tracing-subscriber = { version = "0.3.7", default-features = false, features = ["env-filter", "fmt", "time", "ansi", "smallvec"] } tokio = { version = "1.20", default-features = false, features = ["io-std", "fs", "rt-multi-thread"] } futures-util = { version = "0.3.7", default-features = false, features = ["sink", "std"] } clap = { version = "4.2", default-features = false, features = ["std", "color", "suggestions"] } shellexpand = "3.1.0" serde = { version = "1.0", features = ["derive"] } prometheus-hyper = "0.1.2" criterion = { version = "0.3.4", features = ["default", "async_tokio"] } #quic rcgen = { version = "0.10"} [[bench]] name = "speed" harness = false [[example]] name = "fileshare" [[example]] name = "network-speed" [[example]] name = "chat" [[example]] name = "tcp_loadtest"