Commit graph

151 commits

Author SHA1 Message Date
Joakim Frostegård
07b959c9d4 udp: run cargo fmt 2021-11-18 22:42:37 +01:00
Joakim Frostegård
210550c719 udp: restructure config.rs for better readability 2021-11-18 22:42:37 +01:00
Joakim Frostegård
8dd9177c40 udp: clean up common file, move some code to other files 2021-11-18 22:42:37 +01:00
Joakim Frostegård
138ae710ef udp: remove io_uring version, it is slower than mio version 2021-11-18 22:42:37 +01:00
Joakim Frostegård
99632d4be5 udp: implement torrent map cleaning for new, sharded torrent state 2021-11-18 22:42:37 +01:00
Joakim Frostegård
c5bf3901ea run cargo fmt 2021-11-18 22:42:37 +01:00
Joakim Frostegård
5ef0935c97 udp: remove unused config var max_requests_per_iter 2021-11-18 22:42:36 +01:00
Joakim Frostegård
7afaa2702a udp: config: request worker timeout in ms instead of microseconds 2021-11-18 22:42:36 +01:00
Joakim Frostegård
42d99cefee udp: uring: tune 2021-11-18 22:42:36 +01:00
Joakim Frostegård
b6f6a2d73b udp: uring: attempt to send more responses per syscall 2021-11-18 22:42:36 +01:00
Joakim Frostegård
b617ff9d09 udp: shard request workers by info hash 2021-11-18 22:42:36 +01:00
Joakim Frostegård
853ed91638 udp: use only PeerId for peer map key, skip ip address
Having the ip to avoid collisions likely doesn't adress any meaningful threat.
2021-11-18 22:42:36 +01:00
Joakim Frostegård
6bd63c2f5d udp: clean up 2021-11-18 22:42:36 +01:00
Joakim Frostegård
f3e41148fe udp: split AnnounceResponse into V4 and V6 versions 2021-11-18 22:42:36 +01:00
Joakim Frostegård
4b07e007f3 udp: add network.only_ipv6 config flag 2021-11-18 22:42:36 +01:00
Joakim Frostegård
4641dd29f2 udp: remove glommio implementation 2021-11-18 22:42:36 +01:00
Joakim Frostegård
1e9376302d udp: fix some config feature issues 2021-11-18 22:42:36 +01:00
Joakim Frostegård
d18117595e udp: move code shared by mio/uring impls to common.rs 2021-11-18 22:42:36 +01:00
Joakim Frostegård
ce1c0b24c3 udp: fix build failure; fix scripts/run-aquatic-udp.sh 2021-11-18 22:42:36 +01:00
Joakim Frostegård
a665b38536 udp: uring: clean up, improve error handling 2021-11-18 22:42:36 +01:00
Joakim Frostegård
18635bf26c udp: add io-uring implementation 2021-11-18 22:42:36 +01:00
Joakim Frostegård
efbf51ba19 udp: io-uring: add ipv6 support 2021-11-18 22:42:36 +01:00
Joakim Frostegård
c5916d9633 udp: uring: add comment 2021-11-18 22:42:36 +01:00
Joakim Frostegård
c949bde532 WIP: udp io-uring experiments 2021-11-18 22:42:11 +01:00
Joakim Frostegård
af8b776937 udp, ws: auto-enable cpu-pinning feature when running with glommio 2021-11-11 20:54:40 +01:00
Joakim Frostegård
321add8455 udp glommio, ws: give worker threads names 2021-11-11 19:59:21 +01:00
Joakim Frostegård
4f8328b70a Feature-gate CPU pinning, since it only works on Linux 2021-11-09 11:40:16 +01:00
Joakim Frostegård
e86410291a cpu pinning: set affinity to multiple hyperthreads, fix issues 2021-11-07 13:31:03 +01:00
Joakim Frostegård
aa332ab296 aquatic_common, udp, udp load test: improve cpu pinning 2021-11-07 11:04:31 +01:00
Joakim Frostegård
465cf5920d WIP: ws: put back mio implementation 2021-11-05 12:42:55 +01:00
Joakim Frostegård
41a249459c aquatic_udp: glommio: await send/recv on shared channels 2021-11-05 11:50:58 +01:00
Joakim Frostegård
b8073e4bd1 Replace HashMap and IndexMap with indexmap_amortized
This will hopefully get down latency.
2021-11-03 10:35:29 +01:00
Joakim Frostegård
f5b93fbd3e aquatic_udp: mio: fix bug where connections were cleaned all the time 2021-11-03 01:05:49 +01:00
Joakim Frostegård
afe3e2465f aquatic_udp: split cleaning interval for connections and torrents 2021-11-03 00:07:52 +01:00
Joakim Frostegård
5f10e5e7f4 aquatic_udp: when cleaning peer maps, run shrink_to_fit 2021-11-02 23:59:50 +01:00
Joakim Frostegård
fa3b6bb259 Move fn update_access_list to aquatic_common 2021-11-02 23:33:47 +01:00
Joakim Frostegård
dce256a987 aquatic_udp: use access list cache when cleaning torrents 2021-11-02 22:31:36 +01:00
Joakim Frostegård
fdaafae4b7 aquatic_udp: glommio: use signals for access list update 2021-11-02 22:23:47 +01:00
Joakim Frostegård
9b75b50802 aquatic_udp: mio: access list: use SIGUSR1, improve errors 2021-11-02 21:06:57 +01:00
Joakim Frostegård
d922e5e680 aquatic_udp: mio: update access list on SIGHUP instead of regularly 2021-11-02 20:33:08 +01:00
Joakim Frostegård
1949ed2e9c aquatic_udp: mio: rewrite connection cleaning interval logic 2021-10-31 21:12:52 +01:00
Joakim Frostegård
03a344eb8e aquatic_udp: mio: print num torrents and peers in statistics 2021-10-31 19:57:30 +01:00
Joakim Frostegård
143585792c aquatic_udp: mio: actually clean connections according to config 2021-10-31 19:43:38 +01:00
Joakim Frostegård
bb75907c07 aquatic_udp: double MAX_PACKAGE_SIZE to allow for large responses 2021-10-30 17:03:07 +02:00
Joakim Frostegård
0107b3a77e aquatic_udp: add (failing) test for writing ipv6 announce responses 2021-10-30 16:51:59 +02:00
Joakim Frostegård
130377b8f4 aquatic_http: remove mio implementation 2021-10-28 01:48:32 +02:00
Joakim Frostegård
49ed4371e7 Run cargo fmt, clean up imports 2021-10-28 01:23:43 +02:00
Joakim Frostegård
d6d5cc78b7 udp, http: move privilege drop code into aquatic_common 2021-10-27 20:49:15 +02:00
Joakim Frostegård
ead7650d41 aquatic_udp: glommio: fix access list update bug 2021-10-27 20:37:32 +02:00
Joakim Frostegård
35b8a1820d Rename CoreAffinityConfig to CpuPinningConfig, rename fields 2021-10-27 20:21:11 +02:00