mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 09:45:31 +00:00
- split swarm worker into two modules - split socket worker into two modules - keep track of which offers peers have sent and only allow matching answers - always clean up after closing connection - use channel for telling connections to close - move some logic into new ConnectionRunner struct - use slotmap for connection reference storage - fix double counting of error responses - actually close connections that take too long to send responses to - remove announced_info_hashes entry on AnnounceEvent::Stopped
60 lines
1.6 KiB
TOML
60 lines
1.6 KiB
TOML
[package]
|
|
name = "aquatic_ws"
|
|
description = "High-performance open WebTorrent tracker"
|
|
keywords = ["webtorrent", "websocket", "peer-to-peer", "torrent", "bittorrent"]
|
|
version.workspace = true
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
readme = "./README.md"
|
|
rust-version = "1.70"
|
|
|
|
[lib]
|
|
name = "aquatic_ws"
|
|
|
|
[[bin]]
|
|
name = "aquatic_ws"
|
|
|
|
[features]
|
|
default = ["prometheus"]
|
|
prometheus = ["metrics", "metrics-exporter-prometheus"]
|
|
metrics = ["dep:metrics", "metrics-util"]
|
|
|
|
[dependencies]
|
|
aquatic_common = { workspace = true, features = ["rustls", "glommio"] }
|
|
aquatic_peer_id.workspace = true
|
|
aquatic_toml_config.workspace = true
|
|
aquatic_ws_protocol.workspace = true
|
|
|
|
anyhow = "1"
|
|
async-tungstenite = "0.23"
|
|
arc-swap = "1"
|
|
cfg-if = "1"
|
|
futures = "0.3"
|
|
futures-lite = "1"
|
|
futures-rustls = "0.24"
|
|
glommio = "0.8"
|
|
hashbrown = { version = "0.14", features = ["serde"] }
|
|
httparse = "1"
|
|
indexmap = "2"
|
|
log = "0.4"
|
|
metrics = { version = "0.21", optional = true }
|
|
metrics-util = { version = "0.15", optional = true }
|
|
metrics-exporter-prometheus = { version = "0.12", optional = true, default-features = false, features = ["http-listener"] }
|
|
mimalloc = { version = "0.1", default-features = false }
|
|
privdrop = "0.5"
|
|
rand = { version = "0.8", features = ["small_rng"] }
|
|
rustls = "0.21"
|
|
rustls-pemfile = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
signal-hook = { version = "0.3" }
|
|
slab = "0.4"
|
|
slotmap = "1"
|
|
socket2 = { version = "0.5", features = ["all"] }
|
|
tungstenite = "0.20"
|
|
|
|
[dev-dependencies]
|
|
quickcheck = "1"
|
|
quickcheck_macros = "1"
|