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
Joakim Frostegård
0f469ff725
udp: increase default config value worker_channel_size
2023-12-30 18:16:53 +01:00
Joakim Frostegård
ba8bdd6ae6
udp: harden ConnectionValidator
2023-12-26 00:19:47 +01:00
Joakim Frostegård
afc3deb656
Add aquatic_load_tester: multi-run multi-implementation load tests
...
- Work in progress
- Only UDP is currently implemented so far
- Also includes some changes to other crates, notably deriving
serde Serialize for Config structs and making udp_load_test
a lib and a binary
2023-12-17 21:59:18 +01:00
Joakim Frostegård
cb39eb69c8
udp: reorder code in swarm storage
2023-12-10 12:13:56 +01:00
Joakim Frostegård
0c4140165b
udp: reuse response channel mem, add backpressure, faster peer extract
2023-12-10 12:07:38 +01:00
Joakim Frostegård
0e12dd1b13
use zerocopy in udp protocol, easy running transfer CI locally
2023-12-02 12:24:41 +01:00
Joakim Frostegård
af16a9e682
udp: fix io_uring soundness issues
2023-11-23 18:52:13 +01:00
Joakim Frostegård
fe5ccf6646
ws: refactor, bug fixes, improvements ( #155 )
...
- 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
2023-11-09 18:06:21 +01:00
Joakim Frostegård
6a23ef9103
ws: reload tls config on SIGUSR1
2023-10-24 18:36:56 +02:00
Joakim Frostegård
c5c995bb80
Split README into separate files ( #150 )
...
* Create a separate udp README file
* Split README into separate files for all three implementations
* Minor README fixes
2023-10-19 19:59:11 +02:00
Joakim Frostegård
9b032f7e24
Move all crates to new crates dir
2023-10-18 23:53:41 +02:00