Joakim Frostegård
d7e06468c3
http: quit if any worker thread quits
2024-02-03 22:38:05 +01:00
Joakim Frostegård
4ca73630c4
Move prometheus endpoint spawner from udp to common crate
2024-02-03 22:07:56 +01:00
Joakim Frostegård
3513b714b4
udp: consistently use NonZeroU16 for announce request port
2024-02-03 11:46:38 +01:00
Joakim Frostegård
b4e27903dc
udp: actually register global metrics handler
2024-02-02 14:46:42 +01:00
Joakim Frostegård
f2d063d6a6
udp load test: don't generate announce requests with port 0
2024-02-02 14:28:13 +01:00
Joakim Frostegård
bbb4c5e411
udp: remove ConnectedRequestSender::any_full method
2024-02-02 14:09:46 +01:00
Joakim Frostegård
97688ed074
udp: disallow announce requests with port value of 0
2024-02-02 14:08:08 +01:00
Joakim Frostegård
c48a83b06a
udp: reorder declarations in common.rs
2024-02-02 13:55:57 +01:00
Joakim Frostegård
be5165bcf2
udp: mio socket worker: make send_response plain fn
2024-02-02 13:48:06 +01:00
Joakim Frostegård
405bbaca93
udp: improve statistics structs
...
- Now, workers don't need to keep track of which atomic usize
to update
- Additionally, prometheus now gets separate information per
socket worker
2024-02-02 13:39:46 +01:00
Joakim Frostegård
e2e525b560
udp: move PeerStatus from common.rs to swarm worker
2024-02-01 23:25:43 +01:00
Joakim Frostegård
216bb93088
udp: improve WorkerType Display implementation
2024-01-29 22:27:03 +01:00
Joakim Frostegård
1967d8aa3e
udp: return errors from threads instead of panicking in some cases
2024-01-29 22:17:30 +01:00
Joakim Frostegård
ae75d0cbe4
udp socket worker: fix warning
2024-01-29 22:12:08 +01:00
Joakim Frostegård
6dec985d45
udp: store prometheus exporter thread handle, periodically render
2024-01-29 22:09:20 +01:00
Joakim Frostegård
8f838098aa
udp: replace PanicSentinel with loop over JoinHandles
2024-01-29 21:45:50 +01:00
Joakim Frostegård
239266ddab
udp protocol: improve README
2024-01-29 20:01:05 +01:00
Joakim Frostegård
38de05a6c4
http protocol: rename methods for writing to and parsing from bytes
2024-01-29 19:52:41 +01:00
Joakim Frostegård
3c906f48ee
ws protocol: make tungstenite integration optional feature
2024-01-29 19:49:05 +01:00
Joakim Frostegård
fee465d205
udp protocol: derive Copy for multiple structs
2024-01-29 19:45:29 +01:00
Joakim Frostegård
41efa151af
udp protocol: implement write_bytes for individual request types
2024-01-29 19:42:56 +01:00
Joakim Frostegård
1c59972834
udp protocol: rename "write" and "from_bytes" methods
2024-01-29 19:38:12 +01:00
Joakim Frostegård
964636db7c
http and ws: fix build errors with --no-default-features
2024-01-27 18:21:44 +01:00
Joakim Frostegård
acabf1581f
silence bencher clippy warning for now
2024-01-27 18:13:23 +01:00
Joakim Frostegård
c5e09e8106
README files: mention installing build-essential
2024-01-27 18:12:21 +01:00
Joakim Frostegård
a0c79970fe
Add separate READMEs for bencher, peer_id and all protocol crates
2024-01-27 18:05:21 +01:00
Joakim Frostegård
7d4ba6940b
Improve README files
2024-01-27 17:46:49 +01:00
Joakim Frostegård
264a12230e
http README: remove text about only running over TLS
2024-01-27 13:31:07 +01:00
Joakim Frostegård
352194e0bd
http: avoid heap allocation for torrents with few peers; refactor
2024-01-27 10:58:03 +01:00
Joakim Frostegård
9fc7abd568
aquatic_common: remove unused import
2024-01-25 23:43:48 +01:00
Joakim Frostegård
e4422cf3ff
ws: swarm worker: more readability refactors
2024-01-25 23:40:19 +01:00
Joakim Frostegård
f050467c2a
ws: further refactor of swarm worker to improve readability
2024-01-25 23:24:10 +01:00
Joakim Frostegård
e6e663761c
ws: refactor swarm worker storage code for improved readability
2024-01-25 19:35:45 +01:00
Joakim Frostegård
238cce9b16
Move common/extract_response_peers to ws since it is only user
2024-01-25 19:05:27 +01:00
Joakim Frostegård
c7f7f010ca
http: upgrade metrics crate to 0.22
2024-01-25 00:03:05 +01:00
Joakim Frostegård
fe6a7ef8b5
http: update crate description
2024-01-24 23:37:35 +01:00
Joakim Frostegård
73eeb22f66
http: extract response peers while announcing peer removed
...
This improves performance by avoiding lots of comparisons
2024-01-24 23:33:15 +01:00
Joakim Frostegård
63ae98f67c
http: index peer map by IP and port instead of IP and peer id
2024-01-24 22:54:13 +01:00
Joakim Frostegård
cbbfa9afef
toml_config_derive: fix clippy warning
2024-01-20 10:43:39 +01:00
Joakim Frostegård
aeeeda1b2b
bencher: fix most clippy warnings
2024-01-20 10:40:28 +01:00
Joakim Frostegård
2dd3ab8682
aquatic_common: fix clippy warnings
2024-01-20 10:37:15 +01:00
Joakim Frostegård
746aa47cce
http: silence clippy warnings
2024-01-20 10:29:13 +01:00
Joakim Frostegård
c32fa7cc2b
Fix ws clippy warnings
2024-01-20 10:27:15 +01:00
Joakim Frostegård
9d1bba5e92
udp: fix/silence clippy warnings
2024-01-20 10:08:53 +01:00
Joakim Frostegård
5401eaf85f
Run cargo clippy --fix and cargo fmt
2024-01-20 09:56:14 +01:00
Joakim Frostegård
22e151d0f0
http: start awaiting conn close message before tls setup
2024-01-20 09:43:55 +01:00
Joakim Frostegård
0c03048ce8
udp: update metrics crate
2024-01-20 09:42:17 +01:00
Joakim Frostegård
1a6b4345d4
udp: remove thingbuf in favor of crossbeam channel
...
thingbuf didn't have obvious performance advantages and is a lot less
mature. Furthermore, it doesn't support anything like crossbeam
Receiver::try_iter, which is prefereable now that announce responses
can be sent to any socket worker.
2024-01-20 09:41:07 +01:00
Joakim Frostegård
e77c9f46e7
udp: store torrents with few peers without an extra heap alloc
2024-01-20 09:40:09 +01:00
Joakim Frostegård
0dae7fd533
ws protocol: remove glob exports; adjust dependent crates
2024-01-08 20:16:46 +01:00