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
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
fc9b4c8e0d
aquatic_http: protocol: add test for scrape request parsing
2020-07-19 14:28:48 +02:00
Joakim Frostegård
12a62f5df4
aquatic_http: add test for announce request parsing
2020-07-19 14:23:48 +02:00
Joakim Frostegård
54e801c6a9
aquatic http: request from path: whitelist url keys for security
...
This way, the non-ddos-resistant hashmap hasher can be kept. Also
improves performance, probably simply because less hashing work
is done:
time: [2.8050 us 2.8156 us 2.8274 us]
change: [-22.940% -22.412% -21.916%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 13:46:36 +02:00
Joakim Frostegård
b17c9999f0
aquatic_http: request from path: remove from map to avoid some clones
...
change: [-3.8362% -3.2346% -2.5437%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 13:24:48 +02:00
Joakim Frostegård
ca8d278a03
aquatic_http: parse_key_value_pairs_memchr: small code improvement
2020-07-19 13:06:39 +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
9b0956cc91
aquatic_http: Request::from_http_get_path: add memchar query str parser
2020-07-18 18:40:27 +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
829701f4da
aquatic_http: debug-log request GET path, use debug mode for bytes read
2020-07-04 12:38:30 +02:00
Joakim Frostegård
c50dec3496
aquatic_http: add PeerMapKey with PeerID and Either<Ip, announce key>
2020-07-04 12:00:36 +02:00
Joakim Frostegård
2f2da8deb0
aquatic_http: AnnounceRequest: make numwant optional, remove trackerid
2020-07-04 11:20:58 +02:00
Joakim Frostegård
15c75579da
aquatic_http request url decode: reject some invalid data
2020-07-03 17:54:59 +02:00
Joakim Frostegård
c2f79aa368
aquatic_http: reduce allocations in Request::urldecode
2020-07-03 17:43:34 +02:00
Joakim Frostegård
7419c51434
aquatic_http protocol: refactor into more submodules, other fixes
2020-07-03 17:25:31 +02:00