Commit graph

29 commits

Author SHA1 Message Date
Joakim Frostegård
f0e0a84088 udp: add optional peers per torrent statistics 2022-08-06 13:56:19 +02:00
Joakim Frostegård
fb2794643d udp, common: rename request workers to swarm workers 2022-07-04 11:49:39 +02:00
Joakim Frostegård
8f37459298 udp: move ConnectionValidator to workers.socket.validator 2022-07-04 08:36:02 +02:00
Joakim Frostegård
64452503e7 aquatic_udp: use constant_time_eq crate for ConnectionValidator
Crate is used in official blake3 implementation.

Improves speed and removed need for error-prone custom assembly.
2022-04-15 23:45:12 +02:00
Joakim Frostegård
fb9b345990 udp: improve ConnectionValidator documentation 2022-04-15 22:37:58 +02:00
Joakim Frostegård
22fa226f95 udp: ConnectionValidator: rename connection_id_eq_constant_time 2022-04-15 22:30:38 +02:00
Joakim Frostegård
19c604d4f1 udp: ConnectionValidator constant time eq: set nomem and nostack 2022-04-15 02:56:55 +02:00
Joakim Frostegård
ce2723effa udp: add WIP constant-time ConnectionID comparison 2022-04-15 02:27:13 +02:00
Joakim Frostegård
1e0559f384 udp: rename ConnectionValidator.hmac to .keyed_hasher 2022-04-14 22:51:16 +02:00
Joakim Frostegård
e8cb0c1618 udp: improve ConnectionValidator doc comment 2022-04-14 22:45:29 +02:00
Joakim Frostegård
f58e2a9bdb udp: improve test_connection_validator 2022-04-14 22:40:13 +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
07630d2e0c udp: add quickcheck test for ConnectionValidator 2022-04-14 22:21:05 +02:00
Joakim Frostegård
1e5b98bcf6 udp: ConnectionValidator: add documentation 2022-04-14 22:08:57 +02:00
Joakim Frostegård
70414ee736 udp: ConnectionValidator: improve error on failure to gen key 2022-04-14 17:12:16 +02:00
Joakim Frostegård
70cabfa89c udp: ConnectionValidator: add anyhow context to getrandom call 2022-04-13 23:45:39 +02:00
Joakim Frostegård
38962eba6b udp: config: make max_connection_age a u32, improve its documentation 2022-04-13 23:42:35 +02:00
Joakim Frostegård
4203e86eca udp: optimize/simplify ConnectionValidator 2022-04-13 23:40:04 +02:00
Joakim Frostegård
8b70034900 udp: use hmac ConnectionValidator in socket workers 2022-04-13 22:27:45 +02:00
Joakim Frostegård
dc4523ede5 udp: start work on HMAC connection ID generation and validation 2022-04-13 21:27:42 +02: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
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
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
e5a1461613
udp: include ConnectionId in PendingScrapeResponseMap key (#42) 2021-12-28 03:16:15 +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
dd573cdb30 Run cargo fmt 2021-11-28 22:11:21 +01:00
Joakim Frostegård
2fe57b9f67 udp: add config key worker_channel_size to enable bounded channels 2021-11-28 21:59:11 +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
Renamed from aquatic_udp/src/lib/common.rs (Browse further)