Commit graph

37 commits

Author SHA1 Message Date
Joakim Frostegård
1025391e4f udp: request worker: remove layer of branching 2022-04-16 02:10:52 +02:00
Joakim Frostegård
9fedf82113 udp: improve TorrentMap cleaning code, always count peers 2022-04-16 01:59:36 +02:00
Joakim Frostegård
78266fd3e7 udp: move some TorrentMap cleaning code to TorrentData impl 2022-04-16 00:52:34 +02:00
Joakim Frostegård
29f97e881e udp: improve formatting of imports 2022-04-16 00:43:23 +02:00
Joakim Frostegård
1851886992 udp: socket workers: rename common.rs to storage.rs 2022-04-16 00:36:43 +02:00
Joakim Frostegård
043649d122 udp: fix name of test_pending_scrape_response_map 2022-04-16 00:35:22 +02:00
Joakim Frostegård
d0c6fb0e29 udp: request workers: move some code into run_request_worker 2022-04-16 00:29:50 +02:00
Joakim Frostegård
313b73daef udp: split workers/request.rs into modules 2022-04-16 00:25:36 +02:00
Joakim Frostegård
86fb7f0fb3 udp: split workers/socket.rs into modules 2022-04-16 00:15:33 +02:00
Joakim Frostegård
d6e5155acf udp: rename MAX_PACKET_SIZE to BUFFER_SIZE 2022-04-14 22:24:56 +02:00
Joakim Frostegård
82e468de35 udp: socket worker: send responses: use previous design
It seems to perform better
2022-04-14 17:49:17 +02:00
Joakim Frostegård
ebe612a560 udp: TorrentMap cleaning: improve code, do less work 2022-04-14 17:44:34 +02:00
Joakim Frostegård
0f6be84576 udp: log with warn level and with more info if send_to fails 2022-04-14 17:40:43 +02:00
Joakim Frostegård
5d227428cc udp: send_response: reduce branching (hopefully) 2022-04-14 17:38:54 +02:00
Joakim Frostegård
dcf6ceaec0 udp socket worker: remove dubious #[inline] hints 2022-04-14 17:34:41 +02:00
Joakim Frostegård
f532ec1875 udp: improve error handling in read_requests 2022-04-14 17:33:32 +02:00
Joakim Frostegård
6cbfa46805 udp: improve code in PendingScrapeResponseSlab.clean 2022-04-14 17:29:56 +02:00
Joakim Frostegård
9479828b4a udp: PendingScrapeResponseSlab: use normal hashmap instead of amortized 2022-04-14 17:24:33 +02:00
Joakim Frostegård
256975a43c udp: check whether to clean scrape response slab less often 2022-04-14 17:14:38 +02:00
Joakim Frostegård
8b70034900 udp: use hmac ConnectionValidator in socket workers 2022-04-13 22:27:45 +02:00
Joakim Frostegård
d0eec05d4c udp: use PanicSentinel 2022-04-06 00:42:11 +02:00
Joakim Frostegård
cb2f7483d3 Return anyhow::Result on PrivDropper waiting and socket creation 2022-04-05 23:15:29 +02:00
Joakim Frostegård
c888017072 Improve privilege dropping; run cargo fmt 2022-04-05 01:26:40 +02:00
Joakim Frostegård
83987563ec udp: replace dependency "chrono" with "time" 2022-03-20 19:57:44 +01:00
Joakim Frostegård
5176b18ef9 common: rename AHashIndexMap to AmortizedIndexMap 2022-03-20 19:42:46 +01:00
Joakim Frostegård
903010dbe1 udp: use action 1 for IPv6 announce responses; refactor protocol code
According to BEP015, action 1 is to be used.
2022-02-20 01:35:24 +01:00
Joakim Frostegård
29ea935744 udp: request workers: use config.statistics.active() 2022-02-19 14:09:24 +01:00
Joakim Frostegård
91dcd3de4d
Add CanonicalSocketAddr struct (#49)
* Add CanonicalSocketAddr struct to aquatic_common, use in aquatic_udp

* udp_bench: fix build error by using CanonicalSocketAddr
2022-02-02 22:34:54 +01:00
Joakim Frostegård
0d3c6111ca udp: run cargo fmt 2022-01-13 19:21:53 +01:00
Joakim Frostegård
f0dc7c19f3 udp: show separate statistics for all response types 2022-01-13 19:16:25 +01:00
Joakim Frostegård
00c4e74374 udp: use slab for pending scrape responses to fix potential issue
Peers sometimes send multiple scrape requests with the same transaction
id, which would previously cause warnings due to replacing the
PendingScrapeMapEntry and later not finding it.
2022-01-13 18:35:41 +01:00
Joakim Frostegård
700dd68d2c
udp scrape improvements (#43)
* udp_protocol: forbid full scrapes

* udp: improve PendingScrapeResponseMap logging

* udp: PendingScrapeResponseMap: store less data, improve logging

* udp: PendingScrapeResponseMap: log if replacing entry on insert

* udp: PendingScrapeResponseMap: use remote addr in key

* Run cargo fmt

* README: update copyright end year

* udp: move scrape request splitting logic into PendingScrapeResponseMap

* udp: add quickcheck test test_pending_scrape_response_map

* udp protocol: fix failing test_scrape_request_convert_identity
2022-01-06 11:48:16 +01:00
Joakim Frostegård
e5a1461613
udp: include ConnectionId in PendingScrapeResponseMap key (#42) 2021-12-28 03:16:15 +01:00
Joakim Frostegård
f531a246b0 udp: support writing statistics html report to file 2021-12-21 23:16:48 +01:00
Joakim Frostegård
7892e6f508 udp: move TorrentMap and related types to workers/request.rs 2021-11-29 21:03:47 +01:00
Joakim Frostegård
125d3c49d6 udp: config: rename channel_recv_timeout_ms and move to root, add docs 2021-11-28 22:10:29 +01:00
Joakim Frostegård
aa3253fcd6 udp: use idiomatic folder structure (lib.rs + main.rs in src) 2021-11-27 18:17:25 +01:00