Commit graph

157 commits

Author SHA1 Message Date
Joakim Frostegård
2f15b2cc8e udp: make tracker-side statistics more accurate 2021-11-21 20:39:27 +01:00
Joakim Frostegård
3a4056058b udp: statistics: properly handle ipv4-mapped ipv6 addresses 2021-11-21 20:16:17 +01:00
Joakim Frostegård
f001c69dc7 udp: statistics: print only for active protocols 2021-11-21 20:09:39 +01:00
Joakim Frostegård
f68bbff700 udp: split statistics by ipv4/ipv6 2021-11-21 20:04:18 +01:00
Joakim Frostegård
34f263f6b9 udp: new file structure: each worker types is submod of workers mod 2021-11-21 19:39:44 +01:00
Joakim Frostegård
a1243c59d6 udp: avoid Ordering::SeqCst for atomic operations 2021-11-19 12:30:05 +01:00
Joakim Frostegård
2c336793b1 udp: statistics: improve atomic usize vec sum code 2021-11-19 12:22:11 +01:00
Joakim Frostegård
c78716153b udp: statistics: show number of peers 2021-11-19 12:17:39 +01:00
Joakim Frostegård
59e95894b9 udp: statistics: show number of torrents and access list len 2021-11-19 12:04:16 +01:00
Joakim Frostegård
dc841ef0de udp: add config setting for network poll timeout 2021-11-19 01:23:41 +01:00
Joakim Frostegård
029193b512 udp: network: check less often if periodic tasks need to be done 2021-11-19 01:20:39 +01:00
Joakim Frostegård
a530dc2860 udp: network: update ValidUntil structs less often 2021-11-19 01:18:58 +01:00
Joakim Frostegård
9c919a6ecb udp: clean pending scrape map 2021-11-19 01:10:37 +01:00
Joakim Frostegård
2e7c8ac904 udp: reorder code in network.rs for better readability 2021-11-19 00:59:52 +01:00
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
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