Commit graph

23 commits

Author SHA1 Message Date
Joakim Frostegård
d78b0fa31e Bump version to 0.2.0 for all aquatic crates 2022-03-26 11:39:37 +01:00
Joakim Frostegård
90437e23bb Cargo.toml files: add readme keys, remove some exclude keys 2022-03-26 11:39:04 +01:00
Joakim Frostegård
a9f1aeb70c Add crate keywords, update descriptions 2022-03-20 20:41:56 +01:00
Joakim Frostegård
8abdf702b7 Update tungstenite and async-tungstenite to 0.17 2022-02-19 14:48:57 +01:00
Joakim Frostegård
4073a1b8be Update hashbrown to 0.12 2022-02-19 14:32:31 +01:00
Joakim Frostegård
222fac0e09
Improve aquatic_ws glommio implementation, fixing memory leak (#37)
* ws: upgrade tungstenite and async-tungstenite to 0.16

* ws: use latest glommio

* ws: glommio: add config key connection_cleaning_interval

* ws: glommio: limit socket worker local channel size

Quick fix for memory leak

* ws: glommio: use prioritized task queue for sending responses

This is a start on trying to fix the large amount of responses
being dropped due to local response channel being full

* scripts/watch-threads.sh: don't highlight changes

* ws: glommio: await when sending responses from shared to local

* ws: glommio: limit ws message queue; add lots of ::log::warn for debug

* ws: glommio: add timeout to send_out_message, maybe pinpointing issue

* ws: glommio: clean up, tweak channel sizes; update TODO

* ws: glommio: set send timeout to 10s, add backpressure, accept drops

* ws: glommio: yield if needed in ConnectionReader backoff loop

* ws load test: add config key connection_creation_interval_ms

* ws load test: don't print "run connection" when opening connection

* ws load test: rename config num_connection to num_connections_per_worker

* ws load test config: improve order of code in file

* ws: glommio: info-level log for socket send timeout

* ws glommio: clean idle connections, improve cleaning code

* ws: glommio: make ConnectionWriter::send_error_response fallible; fmt

* ws: glommio: store JoinHandle in conn reference, cancel task on clean

* add scripts/heaptrack.sh

* Update TODO
2021-12-11 18:50:05 +01:00
Joakim Frostegård
473276cd46 Switch to rust edition 2021 2021-11-24 18:56:26 +01:00
Joakim Frostegård
028a366ce5 Don't unnecessarily constrain crate versions in Cargo.toml files 2021-11-19 02:45:53 +01:00
Joakim Frostegård
fae0692f90 Upgrade tungstenite 2021-08-16 23:22:56 +02:00
Joakim Frostegård
1028dcc709 Upgrade simd-json 2021-08-15 23:27:17 +02:00
Joakim Frostegård
32541c5c15 Upgrade hashbrown 2021-08-15 22:29:09 +02:00
Joakim Frostegård
f728669401 Update tungstenite to version 0.13 2021-02-10 18:36:23 +01:00
Joakim Frostegård
405df71371 Upgrade tungstenite to version 0.12 2021-02-10 18:36:23 +01: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
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
56bc028a44 aquatic_ws: OutMessage and InMessage simd-json fixes
* use simd-json in OutMessage deserialization
* take ownership in InMessage deserialization to avoid bugs
* Update benchmark results, benchmark was broken
* Compile simd-json even if simd is not on, so that rust-analyzer
  works
2020-08-11 23:02:19 +02:00
Joakim Frostegård
5d40954936 aquatic_ws: deserialize InMessage with simd-json for performance
From 18% to 13% CPU time during load test run.

Criterion benchmark of deserialization got about 90% improvement.
2020-08-11 06:32:51 +02:00
Joakim Frostegård
99724c7e5d aquatic_ws: add bench for InMessage::from_ws_message, take ws msg by ref 2020-08-11 05:36:29 +02:00
Joakim Frostegård
ea8b37b4d5 aquatic_ws_protocol: add quickcheck tests for message serde 2020-08-06 23:34:33 +02:00
Joakim Frostegård
6f2dc6a510 aquatic_ws: add InMessage::from_ws_message, use in load test 2020-08-01 22:45:19 +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