[package]
name = "veloren_network"
version = "0.2.0"
authors = ["Marcel Märtens <marcel.cochem@googlemail.com>"]
edition = "2018"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
metrics = ["prometheus"]
compression = ["lz-fear"]

default = ["metrics","compression"]

[dependencies]

#serialisation
bincode = "1.2"
serde = { version = "1.0" }
#sending
crossbeam-channel = "0.5"
# NOTE: Upgrading async-std can trigger spontanious crashes for `network`ing. Consider elaborate tests before upgrading
async-std = { version = "~1.5", default-features = false, features = ["std", "async-task", "default"] }
#tracing and metrics
tracing = { version = "0.1", default-features = false }
tracing-futures = "0.2"
prometheus = { version = "0.11", default-features = false, optional = true }
#async
futures = { version = "0.3", features = ["thread-pool"] }
#mpsc channel registry
lazy_static = { version = "1.4", default-features = false }
rand = { version = "0.7" }
#stream flags
bitflags = "1.2.1"
lz-fear = { version = "0.1.1", optional = true }

[dev-dependencies]
tracing-subscriber = { version = "0.2.3", default-features = false, features = ["env-filter", "fmt", "chrono", "ansi", "smallvec"] }
# `uvth` needed for doc tests
uvth = { version = ">= 3.0, <= 4.0", default-features = false }
clap = { version = "2.33", default-features = false }
shellexpand = "2.0.0"
tiny_http = "0.7.0"
serde = { version = "1.0", features = ["derive"] }