Commit graph

288 commits

Author SHA1 Message Date
Joakim Frostegård
e7de66603e aquatic_http: add upper limit on request read buffer 2020-08-02 02:45:56 +02:00
Joakim Frostegård
9062baef81 Update TODO 2020-08-02 01:43:56 +02:00
Joakim Frostegård
293b5f1125 Update TODO 2020-08-02 01:32:14 +02:00
Joakim Frostegård
ea6a4c2635 refactor aquatic_udp_protocol, notably make converters trait fns 2020-08-02 01:23:11 +02:00
Joakim Frostegård
2cf161469f Update ODO 2020-08-02 00:52:59 +02:00
Joakim Frostegård
6018450414 aquatic_udp: stop reregistering socket 2020-08-02 00:46:47 +02:00
Joakim Frostegård
fb850170c4 Update TODO 2020-08-02 00:45:58 +02:00
Joakim Frostegård
d92b11191a Update TODO 2020-08-01 23:23:59 +02:00
Joakim Frostegård
118c2e446b scripts: don't print RUSTFLAGS, causes issues when printing configs 2020-08-01 23:23:10 +02:00
Joakim Frostegård
081d4cca26 Update TODO 2020-08-01 06:48:44 +02:00
Joakim Frostegård
99b098c132 Update TODO 2020-08-01 06:42:17 +02:00
Joakim Frostegård
5845393fbb Update TODO 2020-08-01 06:09:25 +02:00
Joakim Frostegård
6a9e1f5e72 aquatic_ws: keep valid_until up to date in established connections 2020-08-01 04:27:31 +02:00
Joakim Frostegård
c7be84a61e aquatic_ws: upgrade to tungstenite 0.11 2020-08-01 00:13:38 +02:00
Joakim Frostegård
809d16919d aquatic_ws: convert ipv4-mapped ipv6 addresses to ipv4 (for state split) 2020-08-01 00:08:18 +02:00
Joakim Frostegård
6240cc2106 Update README and TODO 2020-07-31 06:10:14 +02:00
Joakim Frostegård
ae73ab5b56 Update TODO 2020-07-31 01:54:29 +02:00
Joakim Frostegård
0d8b6f6cc4 build scripts: disable avx512, since it decreases performance 2020-07-31 01:34:13 +02:00
Joakim Frostegård
225a76e075 Update TODO and README 2020-07-25 20:54:49 +02:00
Joakim Frostegård
3802dec79e Update TODO 2020-07-24 20:33:37 +02:00
Joakim Frostegård
edfb8e62c5 TODO: reorganize 2020-07-21 23:03:00 +02:00
Joakim Frostegård
773494b17b Update TODO 2020-07-21 02:00:15 +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
289cc4fcb5 Update TODO 2020-07-21 00:09:56 +02:00
Joakim Frostegård
ca935b7d46 Update TODO 2020-07-20 22:16:27 +02:00
Joakim Frostegård
87328f788d Update TODO 2020-07-20 21:14:09 +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
6691b77824 aquatic_http_load_test: store connections in a slab::Slab 2020-07-20 16:30:47 +02:00
Joakim Frostegård
a2a2fa5807 Update TODO 2020-07-20 16:21:54 +02:00
Joakim Frostegård
8d41d98fec Update TODO 2020-07-20 15:46:38 +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
f078542ffc Update TODO 2020-07-19 14:22:26 +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
09d27d5075 Update TODO 2020-07-19 13:27:54 +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
a8900c99ab Update TODO 2020-07-18 17:55:58 +02:00
Joakim Frostegård
84facea0ca aquatic_http: add hand-written ScrapeResponse serialization 2020-07-18 17:46:16 +02:00
Joakim Frostegård
17385c92ad Update TODO 2020-07-18 16:32:28 +02:00
Joakim Frostegård
2386dd0e8b aquatic_http: parameterise many data structures over peer IP protocol 2020-07-08 14:13:10 +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
5ff00e866d Update TODO 2020-07-08 11:07:41 +02:00
Joakim Frostegård
97a84a2a03 Update TODO 2020-07-08 10:08:25 +02:00
Joakim Frostegård
fb4b190173 Update TODO 2020-07-05 20:33:31 +02:00
Joakim Frostegård
8391cb4bd5 Update TODO 2020-07-05 19:49:13 +02:00
Joakim Frostegård
9443082575 Update TODO with info about connection obfuscation extension 2020-07-04 19:58:26 +02:00
Joakim Frostegård
76a340574e aquatic_http: debug log StreamEnded, keep connection on parse error 2020-07-04 19:38:37 +02:00
Joakim Frostegård
3d0de73873 Update TODO 2020-07-04 15:07:33 +02:00