[package] name = "aquatic_http" description = "High-performance open HTTP BitTorrent tracker (with optional TLS)" keywords = ["http", "server", "peer-to-peer", "torrent", "bittorrent"] version.workspace = true authors.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true readme = "./README.md" [lib] name = "aquatic_http" [[bin]] name = "aquatic_http" [features] default = ["prometheus", "mimalloc"] prometheus = ["aquatic_common/prometheus", "metrics", "dep:metrics-util"] metrics = ["dep:metrics"] # Use mimalloc allocator for much better performance. # # Requires cmake and a C compiler mimalloc = ["dep:mimalloc"] [dependencies] aquatic_common = { workspace = true, features = ["rustls"] } aquatic_http_protocol.workspace = true aquatic_toml_config.workspace = true anyhow = "1" arrayvec = "0.7" arc-swap = "1" cfg-if = "1" either = "1" futures = "0.3" futures-lite = "1" futures-rustls = "0.26" glommio = "0.9" httparse = "1" itoa = "1" libc = "0.2" log = "0.4" memchr = "2" privdrop = "0.5" once_cell = "1" rand = { version = "0.8", features = ["small_rng"] } rustls-pemfile = "2" serde = { version = "1", features = ["derive"] } signal-hook = { version = "0.3" } slotmap = "1" socket2 = { version = "0.5", features = ["all"] } thiserror = "1" # metrics feature metrics = { version = "0.22", optional = true } metrics-util = { version = "0.16", optional = true } # mimalloc feature mimalloc = { version = "0.1", default-features = false, optional = true } [dev-dependencies] quickcheck = "1" quickcheck_macros = "1"