Joakim Frostegård
7f01f4024a
Upgrade hashbrown and indexmap crates
2023-07-30 20:32:30 +02:00
Joakim Frostegård
abf4c9f528
ws protocol: update criterion
2023-06-03 18:37:00 +02:00
Joakim Frostegård
4e5fb8a848
ws protocol: remove a Cargo.toml comment
2023-06-03 18:33:01 +02:00
Joakim Frostegård
fca6cc9fbd
ws: update simd-json to 0.10.3
2023-06-03 18:27:54 +02:00
Joakim Frostegård
8734855c49
Upgrade metrics, metrics-exporter, tungstenite & async-tungstenite
2023-06-03 18:03:51 +02:00
Joakim Frostegård
5233fdd474
Update criterion to v0.4
2023-04-10 00:32:01 +02:00
Joakim Frostegård
d53d0a64e6
Upgrade tungstenite to 0.18, async-tungstenite to 0.19
2023-01-03 18:45:02 +01:00
Joakim Frostegård
61d5f2571f
ws protocol: mention simd-json v0.7 possible parsing bugs
2022-11-12 16:36:36 +01:00
Joakim Frostegård
9ace8f53b8
Upgrade hashbrown to version 0.13
2022-11-12 14:37:53 +01:00
Joakim Frostegård
65a8c9d6ff
Use Rust 1.64 workspace inheritance
2022-09-25 11:40:43 +02:00
Joakim Frostegård
2e6d5acae2
Update simd-json to version 0.6.0
2022-07-18 18:47:28 +02:00
Joakim Frostegård
123193d032
Update simd-json version from 0.4 to 0.5
2022-06-07 13:56:26 +02:00
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
7ae7442284
aquatic_ws_protocol: clean up, run rustfmt
2021-11-01 21:36:07 +01:00
Joakim Frostegård
77c9ca03e8
aquatic_ws_protocol: attempt to parse ws message from binary as well
2021-11-01 19:42:52 +01:00
Joakim Frostegård
6624df1e44
aquatic_ws_protocol: add documentation (as comments)
2021-10-16 01:53:53 +02:00
Joakim Frostegård
71c43aca47
aquatic_ws_protocol: refactor, moving code into submodules
2021-10-16 01:46:32 +02:00
Joakim Frostegård
7c833958d8
aquatic_ws: add serde-rename for ErrorResponse.failure_reason
2021-10-16 01:20:09 +02:00
Joakim Frostegård
1d5eb0dff9
aquatic_ws: add ErrorResponse, send it when info hash is not allowed
2021-10-16 01:18:23 +02: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
d0e716f80b
Run rustfmt, clean up aquatic_http_protocol/Cargo.toml
2021-08-15 22:26:11 +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
cf0623e302
aquatic_ws_protocol: fix warning about JsonValue Arbitrary impl
...
Now it is clearer that only a single value is ever generated
2020-08-13 01:05:20 +02:00
Joakim Frostegård
c69b09ab9c
aquatic ws protocol: improve Arbitrary impl for JsonValue
2020-08-12 05:22:37 +02:00
Joakim Frostegård
acc1a0fd74
aquatic_ws: update tests to use simd-json
2020-08-12 05:14:27 +02:00
Joakim Frostegård
884a2aa67d
aquatic ws: deserialize OutMessage properly
...
Performance seems to be about the same
2020-08-12 01:24:28 +02:00
Joakim Frostegård
de1a299f1e
aquatic_ws: InMessage::to_ws_message: don't take ownership
2020-08-11 23:24:46 +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
1d2dfe3fe1
aquatic_ws_protocol: add comment OutMessage::from_ws_message
2020-08-09 04:27:06 +02:00
Joakim Frostegård
0637f83daa
aquatic_ws: rewrite failing serialization, add tests
...
Use different approach to action fields and info_hash vec, fixing
failing tests
2020-08-09 00:26:26 +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
6f618bb013
aquatic_ws_load_test: get answer sending to work with wt-tracker
2020-08-03 07:02:42 +02:00
Joakim Frostegård
9f445c7c03
aquatic_ws_load_test: fix multiple issues with implementation
2020-08-03 05:15:24 +02:00
Joakim Frostegård
561cc3db55
fix more clippy warnings
2020-08-02 00:36:56 +02:00