Joakim Frostegård
c59b3c4164
Upgrade urlencoding crate
2021-08-15 23:35:56 +02:00
Joakim Frostegård
32541c5c15
Upgrade hashbrown
2021-08-15 22:29:09 +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
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
34260cd2c3
Move aquatic_http_protocol package description to correct place
2020-09-13 17:47:21 +02:00
Joakim Frostegård
56980ab303
aquatic_http_protocol and ws_protocol: exclude "target" from crates
2020-09-13 17:42:31 +02: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
74e1ecf384
aquatic_http_protocol: remove unused utility function "urldecode"
2020-08-13 00:51:56 +02:00
Joakim Frostegård
6f955235ea
aquatic http: log at debug level for unrecognized keys in request parse
...
"downloaded" and "uploaded" occur all the time since they are
part of the specification
2020-08-12 04:38:47 +02:00
Joakim Frostegård
bc5cd90371
aquatic http: use serde_bencode for deserialization
...
bendy seems not to manage lack of trailing newline
2020-08-12 04:26:09 +02:00
Joakim Frostegård
7a96313173
aquatic_http_protocol: send host header for scrape requests too
2020-08-12 04:23:26 +02:00
Joakim Frostegård
e6a74c5bfe
aquatic http load test: send Host header, downloaded&uploaded keys
2020-08-12 04:08:43 +02:00
Joakim Frostegård
63e5fe11c9
aquatic http protocol: delete obsoleted bench_request_from_path
2020-08-11 23:06:05 +02:00
Joakim Frostegård
74a538963f
aquatic_http_protocol: urlencode/urldecode Request.key
...
About 11% performance regression for Request::from_bytes
2020-08-10 04:37:01 +02:00
Joakim Frostegård
1b2b4f0eb5
aquatic_http_protocol: add test for Request serde, fix Request.write bug
2020-08-09 01:19:47 +02:00
Joakim Frostegård
e88ecec9c7
aquatic http protocol: fix failure response serialization test failure
2020-08-02 22:11:55 +02:00
Joakim Frostegård
f9d85117b1
aquatic_http_protocol: optimize response peer deserialization
...
Hopefully, now response peer vec only needs to be allocated once
2020-08-02 11:34:09 +02:00
Joakim Frostegård
a18596544f
aquatic http protocol: allow non-existing peers in Response
...
Really, this is to allow missing peers6
2020-08-02 10:03:42 +02:00
Joakim Frostegård
fe887e1de5
aquatic http protocol: add deserialize impl for responses
2020-08-02 09:27:44 +02:00
Joakim Frostegård
cb3ec8cbf1
WIP: get http load test into better (but bad) state
...
Is now able to maintain correspondence with aquatic_http
and opentracker
2020-08-02 06:38:36 +02:00
Joakim Frostegård
9707898a32
aquatic_http: remove underscore from "failure_reason"
2020-08-02 02:46:52 +02:00
Joakim Frostegård
561cc3db55
fix more clippy warnings
2020-08-02 00:36:56 +02:00
Joakim Frostegård
8fc09cb130
http: fix some clippy errors, including possible network bug
2020-08-01 23:59:17 +02:00
Joakim Frostegård
7d4b1ab610
aquatic http protocol: AnnounceRequest.write: write actual event
2020-08-01 23:05:07 +02:00
Joakim Frostegård
3e4e145248
aquatic http protocol Cargo.toml: move bendy to dev-dependencies
2020-08-01 22:23:01 +02:00
Joakim Frostegård
997482d46d
aquatic_http: urldecode_20_bytes: remove duplicate check
...
request-from-bytes performance seems to have regressed,
I don't know why (+8%)
2020-07-24 23:06:46 +02:00
Joakim Frostegård
668b480e0f
aquatic_http_protocol: optimize urlencode_20_bytes
2020-07-24 22:35:34 +02:00
Joakim Frostegård
cc46c4b72c
aquatic_http: write to buf ref in request serialization
2020-07-24 22:27:06 +02:00
Joakim Frostegård
fd68a5f603
aquatic_http: serialize responses to a buffer ref instead of new vec
...
This improves benchmark performance somewhat and performance
during load testing a bit too.
2020-07-24 21:59:23 +02:00
Joakim Frostegård
b01226fddc
aquatic http protocol: remove unimplemented Response::from_bytes fn
2020-07-21 17:21:32 +02:00
Joakim Frostegård
b3154c5bcf
aquatic http protocol: delete obsoleted request-from-path benchmark
...
Now there is a request-from-bytes benchmark that supersedes
request-from-path.
Final comparison of gains made since first benchmark:
request-from-path
time: [540.01 ns 541.51 ns 543.15 ns]
change: [-90.786% -90.741% -90.696%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-21 14:25:47 +02:00
Joakim Frostegård
22316df025
aquatic http protocol: rerun response criterion benchmarks
...
Regression of about 100%, not clear why, but absolute change
is small. Runtime compared to bendy version is -86.407% anyway.
So save this as baseline without investigating the reason for
the regression.
2020-07-21 01:43:47 +02:00
Joakim Frostegård
0b41e91dde
aquatic http protocol: rerun request criterion benchmarks
...
request-from-path: first run since previous changes
request-from-bytes: speedup possibly due to updated compiler
2020-07-21 01:38:08 +02:00
Joakim Frostegård
f2db4a43b9
Update lots of dependencies
2020-07-21 00:58:56 +02:00
Joakim Frostegård
597a2a83d1
aquatic http protocol: add quickcheck test for urlencode/decode 20 bytes
2020-07-21 00:36:34 +02:00
Joakim Frostegård
909f0edce9
aquatic http protocol: move urlencode fns to utils module, clean up
2020-07-21 00:20:10 +02:00
Joakim Frostegård
8fea96bcd2
aquatic http protocol: request parsing: remove hashmap for performance
...
request-from-bytes:
time: [720.22 ns 723.34 ns 726.73 ns]
change: [-53.265% -52.884% -52.477%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-21 00:11:53 +02:00
Joakim Frostegård
dae83a1835
aquatic http protocol: ScrapeRequest::to_bytes(): use urlencode_20_bytes
2020-07-20 22:35:08 +02:00
Joakim Frostegård
b7d5a12046
aquatic http protocol: optimize request parsing
...
request-from-bytes:
time: [1.5288 us 1.5362 us 1.5441 us]
change: [-38.029% -37.466% -36.890%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-20 22:13:42 +02:00
Joakim Frostegård
114b8007e1
aquatic http procotol: rewite Request::from_bytes, test it
2020-07-20 21:13:48 +02:00
Joakim Frostegård
ea4b560faa
aquatic_http_protocol: add benchmark for request from bytes
2020-07-20 20:27:42 +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
2521c89109
aquatic http protocol: Response::from_bytes: set to unimplemented!()
2020-07-20 18:32:07 +02:00
Joakim Frostegård
45940a05a9
http load test and protocol: cut down on allocations a bit
2020-07-20 17:23:40 +02:00
Joakim Frostegård
da3b2bcd8c
WIP: cleanup aquatic_http_load_test and aquatic_http_protocol
2020-07-20 14:50:19 +02:00
Joakim Frostegård
d1e9d24773
WIP: work on http load test (now partly working) and http protocol
2020-07-20 14:30:36 +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