Commit graph

40 commits

Author SHA1 Message Date
Joakim Frostegård
9b032f7e24 Move all crates to new crates dir 2023-10-18 23:53:41 +02:00
Joakim Frostegård
abbd008d7e common: make extract_response_peers code more idiomatic 2023-08-30 01:15:37 +02:00
Joakim Frostegård
ddbb5a4d9a common: improve test_extract_response_peers 2023-08-26 16:18:20 +02:00
Joakim Frostegård
95422ff3f1 common: improve extract_response_peers 2023-08-26 15:46:52 +02:00
Joakim Frostegård
b42d55b003 Replace indexmap-amortized with plain (ahash) indexmap 2023-02-25 22:37:54 +01:00
Joakim Frostegård
c76d7442e2 Use regular (ahash) IndexMap for PeerMaps 2022-08-06 16:53:49 +02:00
Joakim Frostegård
fcf18c845f Reduce ValidUntil size; reduce size of various ws structs 2022-08-01 14:15:06 +02:00
Joakim Frostegård
c229872134 Use idiomatic feature names & namespace support from Rust 1.60 2022-04-10 01:25:03 +02:00
Joakim Frostegård
bd6764afaf Move aquatic_cli_helpers code into aquatic_common and remove crate 2022-04-06 19:02:39 +02:00
Joakim Frostegård
ffa7c7532f PanicSentinel: only set flag if dropped while panicking 2022-04-06 01:56:45 +02:00
Joakim Frostegård
10997596fa PanicSentinel: send SIGTERM only once 2022-04-06 01:52:06 +02:00
Joakim Frostegård
b61b136b0c Add PanicSentinelWatcher
Use to determine if SIGTERM was caused by panic in other thread
2022-04-06 01:33:19 +02:00
Joakim Frostegård
49523779d9 common: add PanicSentinel, improve PrivilegeDropper anyhow context 2022-04-06 00:41:15 +02:00
Joakim Frostegård
908e18360c Merge branch 'master' into cpu-pinning-2022-03-30 2022-04-04 22:49:25 +02:00
Joakim Frostegård
e790727bc0 aquatic_common: add feature gated fn create_rustls_config 2022-04-03 18:36:37 +02:00
Joakim Frostegård
fb607ac0c2 Improve CPU pinning 2022-03-30 22:53:15 +02:00
Joakim Frostegård
5176b18ef9 common: rename AHashIndexMap to AmortizedIndexMap 2022-03-20 19:42:46 +01:00
Joakim Frostegård
f18fc52675 Run cargo fmt 2022-02-20 00:45:04 +01:00
Joakim Frostegård
4560c7fce0 aquatic_common: possibly do less allocations in extract_response_peers 2022-02-19 15:19:23 +01:00
Joakim Frostegård
8889ab586c Use CanonicalSocketAddr in ws and http; remove old option from common 2022-02-03 19:29:21 +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
a530dc2860 udp: network: update ValidUntil structs less often 2021-11-19 01:18:58 +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
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
d6d5cc78b7 udp, http: move privilege drop code into aquatic_common 2021-10-27 20:49:15 +02:00
Joakim Frostegård
d659117ae5 Move CoreAffinityConfig to aquatic_common, use in glommio http 2021-10-27 20:19:02 +02:00
Joakim Frostegård
60d183003d aquatic_common: move access list code to own file 2021-10-15 21:53:42 +02:00
Joakim Frostegård
f370dac330 access list: use hex crate for info hash parsing 2021-10-15 10:09:02 +02:00
Joakim Frostegård
ec5d535ffc access list: improve naming 2021-10-15 02:46:28 +02:00
Joakim Frostegård
4b96cfbdf9 access list: don't delete old until new sucessfully created 2021-10-15 02:44:05 +02:00
Joakim Frostegård
ea52317b49 access list: improve info hash string parsing 2021-10-15 02:41:26 +02:00
Joakim Frostegård
6cfa220097 access list: log when update fails; run cargo fmt 2021-10-15 02:35:13 +02:00
Joakim Frostegård
b5a2b81bd7 aquatic_udp: simplify access list logic 2021-10-15 02:30:49 +02:00
Joakim Frostegård
8639f380f4 aquatic_udp: first access list implementation 2021-10-15 02:08:57 +02:00
Joakim Frostegård
d0e716f80b Run rustfmt, clean up aquatic_http_protocol/Cargo.toml 2021-08-15 22:26:11 +02:00
Joakim Frostegård
e1260d14de Update rand to 0.8 and rand_distr to 0.4 2021-02-10 18:36:23 +01:00
Joakim Frostegård
6ee8ed4895 aquatic_common: extract response peers: don't return sender
Seems to fix or at least help with some issues with
real clients being slow to initiate transfers
2020-08-16 23:07:39 +02:00
Joakim Frostegård
a3a1d1606b WIP: udp: add ipv6 support
Returning IPv6 peers doesn't really work with UDP. It is not supported by
https://libtorrent.org/udp_tracker_protocol.html. There is a suggestion in
https://web.archive.org/web/20170503181830/http://opentracker.blog.h3q.com/2007/12/28/the-ipv6-situation/
of using action number 4 and returning IPv6 octets just like for IPv4
addresses. Clients seem not to support it very well, but due to a lack of
alternative solutions, it is implemented here
2020-07-31 05:37:58 +02:00
Joakim Frostegård
43a33d80c4 aquatic_http: add ipv6 compact responses; fix ipv4/ipv6 issue 2020-07-08 12:26:41 +02:00
Joakim Frostegård
5c83af9f88 Move some code from aquatic_udp into aquatic_common 2020-05-11 17:06:37 +02:00