Commit graph

34 commits

Author SHA1 Message Date
Joakim Frostegård
9a1993d72e aquatic_http: use signals for reloading access list 2021-11-02 23:16:18 +01:00
Joakim Frostegård
afce23e321 aquatic_http: glommio: use futures-rustls 2021-11-01 17:18:27 +01:00
Joakim Frostegård
130377b8f4 aquatic_http: remove mio implementation 2021-10-28 01:48:32 +02:00
Joakim Frostegård
974aaf03b4 aquatic_http: set default impl to glommio for testing 2021-10-27 20:52:01 +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
ef10c4f366 WIP: aquatic http glommio 2021-10-26 17:29:21 +02:00
Joakim Frostegård
34bc4046b7 WIP: aquatic_http glommio impl 2021-10-26 16:26:37 +02:00
Joakim Frostegård
ad7e464788 aquatic_http: split into mio and glommio modules 2021-10-26 15:26:06 +02:00
Joakim Frostegård
d172fc4f8c Upgrade socket2 2021-08-15 23:32:59 +02:00
Joakim Frostegård
32541c5c15 Upgrade hashbrown 2021-08-15 22:29:09 +02:00
Joakim Frostegård
f9626ade57 Upgrade quickcheck to 1.0, adjust code, optimizing a slow test 2021-02-10 18:36:23 +01: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
bbc351bb59 Update privdrop to 0.5 2021-02-10 18:36:23 +01:00
Joakim Frostegård
ac6eefc30f Update crossbeam-channel to 0.5 2021-02-10 18:36:23 +01:00
Joakim Frostegård
fe11ed138a Use (patched) crates.io deps for crates, add some package metadata 2020-09-13 17:30:26 +02:00
Joakim Frostegård
66e9882f48 Update dependencies 2020-09-10 23:23:21 +02:00
Joakim Frostegård
88423976c4 aquatic_http, aquatic_ws: add option for printing statistics
statistics are on number of peers per torrent
2020-08-13 03:58:28 +02:00
Joakim Frostegård
8d58f8bb70 init logger in aquatic_cli_helpers crate 2020-08-02 21:21:58 +02:00
Joakim Frostegård
228511b3aa aquatic_http: replace flume with crossbeam; clean connections less often 2020-07-24 20:36:46 +02:00
Joakim Frostegård
f1f708465a remove aquatic_common_tcp crate, move contents into aquatic_http
It doesn't make a lot of sense to make a separate crate for
the few things here. I don't really want tight coupling between
the crates anyway, since it impedes making changes in them
and makes understanding them more difficult.
2020-07-21 23:01:34 +02:00
Joakim Frostegård
f2db4a43b9 Update lots of dependencies 2020-07-21 00:58:56 +02:00
Joakim Frostegård
95e25710dc aquatic_http: move request parsing into protocol crate 2020-07-20 20:13:56 +02:00
Joakim Frostegård
4ac2012a2a aquatic_http: move protocol module to new crate aquatic_http_protocol 2020-07-19 21:59:31 +02:00
Joakim Frostegård
4caf174da5 aquatic_http: add criterion benchmark for announce response to bytes
Speedup of custom implementation compared to using bendy:

announce-response-to-bytes:

time:   [413.77 ns 415.34 ns 417.08 ns]
change: [-93.074% -93.021% -92.968%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 16:56:13 +02:00
Joakim Frostegård
9df1f0ecc6 aquatic_http: rewrite request parsing, use smartstring
Use smartstring in PeerMapKey too.

Improves benchmark speed.

request-from-path:

time:   [2.1484 us 2.1530 us 2.1586 us]
change: [-24.246% -23.908% -23.570%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 15:38:26 +02:00
Joakim Frostegård
a8e355f22a aquatic_http: add criterion benchmarks for request from path parsing
About 35% improvement by using both memchr methods
2020-07-19 01:58:41 +02:00
Joakim Frostegård
056cd41732 aquatic_http: add memchr version of urldecode, which might be faster 2020-07-18 06:05:13 +02:00
Joakim Frostegård
f94c52da77 aquatic_http: send_response: use itoa and Vec::with_capacity
This leads to fewer allocations and possibly better performance.
2020-07-18 03:05:40 +02:00
Joakim Frostegård
8269ae2994 aquatic_http: remove (no longer used) dependency serde_urlencoded 2020-07-05 19:50:52 +02:00
Joakim Frostegård
82378e71f6 Move things to aquatic_common_tcp 2020-07-02 16:54:27 +02:00
Joakim Frostegård
2e53a2adc1 add aquatic_common_tcp crate, move common functionality there 2020-07-02 16:34:36 +02:00
Joakim Frostegård
6b1f11635b aquatic_http: bencoded response with content-length 2020-07-02 13:47:37 +02:00
Joakim Frostegård
76079cf66e WIP: more work on aquatic_http 2020-07-02 00:39:50 +02:00
Joakim Frostegård
404e528616 WIP: start work on http tracker 2020-07-01 18:56:19 +02:00