Joakim Frostegård
9b032f7e24
Move all crates to new crates dir
2023-10-18 23:53:41 +02:00
Joakim Frostegård
a74d6aa458
udp: initial support for listing peer clients
2023-06-06 01:04:37 +02:00
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