Commit graph

70 commits

Author SHA1 Message Date
Joakim Frostegård
55045279ac aquatic ws load test: send offers, count offer responses 2020-08-01 04:27:55 +02:00
Joakim Frostegård
a5108f813d WIP: aquatic_ws: add half-crappy load test, fix infinite loop bug 2020-08-01 03:35:00 +02:00
Joakim Frostegård
c7be84a61e aquatic_ws: upgrade to tungstenite 0.11 2020-08-01 00:13:38 +02:00
Joakim Frostegård
bdb6aced1c Run cargo update 2020-07-31 01:54:38 +02:00
Joakim Frostegård
d5de57b45f aquatic_ws: replace flume with crossbeam-channel
This improved performance in aquatic_http
2020-07-31 01:47:45 +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
52eeda2f2c aquatic_udp_bench: bump indicatif version 2020-07-21 01:03:23 +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
6691b77824 aquatic_http_load_test: store connections in a slab::Slab 2020-07-20 16:30:47 +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
5b0d364ccf WIP: start work on porting udp load test to http 2020-07-19 23:03:30 +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
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
1dc2f44d9c restructure aquatic_common_tcp, move more into it from aquatic_http 2020-07-03 00:23:19 +02:00
Joakim Frostegård
82378e71f6 Move things to aquatic_common_tcp 2020-07-02 16:54:27 +02:00
Joakim Frostegård
720596dfb4 move more things from aquatic_http to aquatic_common_tcp 2020-07-02 16:47:33 +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
Joakim Frostegård
3addab07f0 move plot_pareto from aquatic_udp_bench crate into own crate 2020-05-25 19:38:53 +02:00
Joakim Frostegård
2f13e1e1a8 rename crate "cli_helpers" to "aquatic_cli_helpers" 2020-05-25 19:27:22 +02:00
Joakim Frostegård
bc4ada104d rename crate "bittorrent_udp" to "aquatic_udp_protocol" 2020-05-25 19:21:52 +02:00
Joakim Frostegård
5babd8eda0 aquatic udp load test: use socket2 instead of net2 2020-05-25 18:42:23 +02:00
Joakim Frostegård
96991562e3 aquatic_udp: use socket2 instead of net2 2020-05-25 18:33:07 +02:00
Joakim Frostegård
1ec4745f45 aquatic_ws: use socket2 instead of net2 2020-05-25 18:24:36 +02:00
Joakim Frostegård
bc8916dce4 aquatic_ws: add logging with level configured by config file 2020-05-23 20:16:56 +02:00
Joakim Frostegård
f3bdb6bc2a aquatic_ws: privilege dropping; cli_helpers: show error context 2020-05-23 17:02:52 +02:00
Joakim Frostegård
7430c23ccc aquatic_ws: add simple_logger for debugging, need better solution 2020-05-23 14:53:29 +02:00
Joakim Frostegård
0f6d6d4b21 aquatic_ws: use log crate for debug error messages 2020-05-23 14:24:26 +02:00
Joakim Frostegård
526faa9aab cli_helpers: use anyhow in app fn; aquatic_ws: reorganize error handling 2020-05-23 14:05:50 +02:00
Joakim Frostegård
9a04173f65 Run cargo update 2020-05-17 12:14:59 +02:00
Joakim Frostegård
0bcfffb2bd aquatic_ws: create HandshakeMachine from ConnectionStage 2020-05-13 19:17:33 +02:00
Joakim Frostegård
de9a32840f WIP: aquatic_ws: start work on wss (ws with tls) 2020-05-12 18:48:50 +02:00
Joakim Frostegård
761952513f remove unused dependencies from aquatic_ws; run cargo update 2020-05-11 23:24:50 +02:00
Joakim Frostegård
5c83af9f88 Move some code from aquatic_udp into aquatic_common 2020-05-11 17:06:37 +02:00
Joakim Frostegård
1b8d74e26d rename aquatic to aquatic_udp, same for bench and load test crates 2020-05-11 16:55:46 +02:00
Joakim Frostegård
5b58db90e3 aquatic_ws: pass on offers to other peers; minor fixes 2020-05-08 21:05:46 +02:00
Joakim Frostegård
4d0c3d309a aquatic_ws: add tungstenite::Message encode and decode, not tested 2020-05-07 19:34:28 +02:00
Joakim Frostegård
cf75a07a7e WIP: aquatic_ws: start work on data structures, data flow 2020-05-07 16:49:28 +02:00
Joakim Frostegård
1080652282 WIP: start work on webtorrent support 2020-05-07 01:08:29 +02:00
Joakim Frostegård
6110017980 aquatic: add setting for dropping privileges after opening sockets 2020-05-06 15:54:03 +02:00
Joakim Frostegård
c8ce374736 Run cargo update 2020-04-28 13:25:59 +02:00