Joakim Frostegård
94247b8e35
udp: mio: don't recalculate PeerUntil every announce request
2024-02-10 22:22:19 +01:00
Joakim Frostegård
19533b3f8e
udp: mio: make send_response a method
2024-02-10 22:13:01 +01:00
Joakim Frostegård
7116fdd862
udp: io_uring: improve docs
2024-02-10 21:55:39 +01:00
Joakim Frostegård
b1908329e5
udp: improve config docs and key order
2024-02-10 21:48:55 +01:00
Joakim Frostegård
ebf4ecbf6a
udp: fix torrent count statistics
2024-02-10 21:45:34 +01:00
Joakim Frostegård
68e951cf79
Improve udp README and latest load test md
2024-02-10 21:29:12 +01:00
Joakim Frostegård
a7ad3266d8
Update UDP benchmarks
2024-02-10 21:22:49 +01:00
Joakim Frostegård
2c7bcf71ad
bencher: change to account for new aquatic_udp implementation
2024-02-10 18:51:13 +01:00
Joakim Frostegård
358c8951c0
udp: improve udp uring code
2024-02-10 18:06:42 +01:00
Joakim Frostegård
6d784c25e9
udp: remove pending scrape config stuff, adjust io uring code
2024-02-10 15:56:34 +01:00
Joakim Frostegård
71a3cb9a5a
udp: remove socket_worker config, adjust other code, fix statistics
2024-02-10 15:54:26 +01:00
Joakim Frostegård
c4fd3c9e83
udp: add cleaning worker
2024-02-10 15:48:09 +01:00
Joakim Frostegård
7fa143964e
udp: remove swarm worker and related logic
2024-02-10 11:40:11 +01:00
Joakim Frostegård
a2e1dd4eef
udp: use shared swarm state in io uring implementation
2024-02-10 11:35:52 +01:00
Joakim Frostegård
2da966098f
WIP: use shared swarm state in mio worker
2024-02-10 11:21:48 +01:00
Joakim Frostegård
53497308f1
udp: create file with thread-shared torrent map implementation
2024-02-10 10:01:45 +01:00
Joakim Frostegård
c980c23ffc
bencher: also bench aquatic_udp with io_uring
2024-02-09 01:21:24 +01:00
Joakim Frostegård
37e4514427
udp: change default max_response_peers to 30
2024-02-08 10:08:31 +01:00
Joakim Frostegård
7ceb01f1ae
udp: change default ring_size to 128
2024-02-08 10:07:44 +01:00
Joakim Frostegård
e705c03981
Explicity use IndexMap::swap_remove to silence warnings
2024-02-06 18:34:17 +01:00
Joakim Frostegård
40e33d8af1
fix prometheus timeout mask metrics
2024-02-04 00:03:01 +01:00
Joakim Frostegård
437f2def7d
aquatic_common: feature-gate cpu pinning, remove hwloc feature
2024-02-03 23:16:45 +01:00
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
bbb4c5e411
udp: remove ConnectedRequestSender::any_full method
2024-02-02 14:09:46 +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
1c59972834
udp protocol: rename "write" and "from_bytes" methods
2024-01-29 19:38:12 +01:00
Joakim Frostegård
c5e09e8106
README files: mention installing build-essential
2024-01-27 18:12:21 +01:00
Joakim Frostegård
7d4ba6940b
Improve README files
2024-01-27 17:46:49 +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
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
0eaa4475e2
udp: index peers by packet src ip and provided port instead of peer_id
2024-01-04 17:04:17 +01:00
Joakim Frostegård
e76394b60d
udp: decrease default worker_channel_size to 1024
2024-01-02 17:25:54 +01:00
Joakim Frostegård
6870a9e9c4
udp: lower log level from info to debug for several mio statements
2024-01-02 17:00:22 +01:00
Joakim Frostegård
4249a7f48d
udp: improve defaults for worker channel size and socket recv buffer
2024-01-02 16:59:08 +01:00
Joakim Frostegård
c4e644cb23
udp: log (info-level) estimated channel memory use
2024-01-02 16:57:46 +01:00
Joakim Frostegård
b527af7195
udp: distribute announce swarm responses among socket workers
...
They don't have to be sent from the same worker that received the
request, so we can decrease performance loss from underutilized
threads this way.
2024-01-01 14:13:30 +01:00