Joakim Frostegård
fb2794643d
udp, common: rename request workers to swarm workers
2022-07-04 11:49:39 +02:00
Joakim Frostegård
fb9d703007
udp: improve variable naming in read_requests
2022-07-04 08:52:58 +02:00
Joakim Frostegård
9d3420ba1c
udp: improve code in send_response
2022-07-04 08:45:13 +02:00
Joakim Frostegård
8f37459298
udp: move ConnectionValidator to workers.socket.validator
2022-07-04 08:36:02 +02:00
Joakim Frostegård
ff071080b0
udp: improve resend buffer logic and log messages
2022-07-03 22:24:58 +02:00
Joakim Frostegård
ae77c7426e
udp: ignore requests with source port of value zero
2022-07-03 21:51:09 +02:00
Joakim Frostegård
daab5ab0d5
udp: improve response sending error logging
2022-06-28 01:10:37 +02:00
Joakim Frostegård
5cfd270ab7
udp: add optional resending buffer for responses that failed to send
2022-06-28 00:56:29 +02:00
Joakim Frostegård
8451b2c50f
udp: request workers: handle TorrentData updates in methods
2022-04-16 03:09:45 +02:00
Joakim Frostegård
80171170c8
udp: request workers: improve handle_scrape_request code
2022-04-16 02:28:03 +02:00
Joakim Frostegård
b8a74f0724
udp: make handle_scrape_request take protocol-specific TorrentMap
2022-04-16 02:21:19 +02:00
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