Commit graph

154 commits

Author SHA1 Message Date
Joakim Frostegård
38617c70f4 Refactor AccessList; update it periodically in aquatic_udp glommio 2021-10-19 22:52:31 +02:00
Joakim Frostegård
f3487d4749 Rename AccessList variants 2021-10-17 18:19:31 +02:00
Joakim Frostegård
1e66b18e52 aquatic_ws network: don't send error response when message parse fails 2021-10-16 18:07:00 +02:00
Joakim Frostegård
3678e86654 Run rustfmt 2021-10-16 17:49:00 +02:00
Joakim Frostegård
523a21dac4 aquatic_ws: improve network message reading, handle parse error better 2021-10-16 17:46:42 +02:00
Joakim Frostegård
8c3db1b9b9 aquatic_ws: use cleaner logic for filtering by access list 2021-10-16 17:31:11 +02:00
Joakim Frostegård
7ccd5fcbf7 access lists: filter requests in socket workers instead 2021-10-16 17:26:40 +02:00
Joakim Frostegård
417ebf61b9 aquatic_ws; clean up 2021-10-16 01:56:43 +02:00
Joakim Frostegård
c02d7f2113 aquatic_ws: run rustfmt 2021-10-16 01:47:10 +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
28cc6c261a aquatic_ws: almost finish implementing access list support 2021-10-16 01:08:59 +02:00
Joakim Frostegård
d1ee18394d aquatic_ws: don't call unwrap on stream.get_peer_addr 2021-10-16 00:27:52 +02:00
Joakim Frostegård
6cfa220097 access list: log when update fails; run cargo fmt 2021-10-15 02:35:13 +02:00
Joakim Frostegård
fae0692f90 Upgrade tungstenite 2021-08-16 23:22:56 +02:00
Joakim Frostegård
82a36041b3 Merge branch 'master' into ws-file-transfer-ci 2021-08-16 19:27:13 +02:00
Joakim Frostegård
d172fc4f8c Upgrade socket2 2021-08-15 23:32:59 +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
d93f1fda7f aquatic_ws: add more trace logging 2021-02-10 23:43:08 +01:00
Joakim Frostegård
de42d2e1b7 aquatic_ws: add trace logging of requests 2021-02-10 23:43:08 +01: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
e1260d14de Update rand to 0.8 and rand_distr to 0.4 2021-02-10 18:36:23 +01:00
Joakim Frostegård
bbc351bb59 Update privdrop to 0.5 2021-02-10 18:36:23 +01:00
Joakim Frostegård
ac6eefc30f Update crossbeam-channel to 0.5 2021-02-10 18:36:23 +01: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
4e0fc68548 aquatic http and ws: when cleaning torrents, update statistics 2020-08-16 23:24:44 +02:00
Joakim Frostegård
3d35bd9bd4 aquatic http and ws: raise default max peer and connection age
There was a problem with aquatic_http with clients announcing
less often than requested interval and getting purged, making
file transfers less reliable
2020-08-16 23:24:29 +02:00
Joakim Frostegård
6ee8ed4895 aquatic_common: extract response peers: don't return sender
Seems to fix or at least help with some issues with
real clients being slow to initiate transfers
2020-08-16 23:07:39 +02:00
Joakim Frostegård
88423976c4 aquatic_http, aquatic_ws: add option for printing statistics
statistics are on number of peers per torrent
2020-08-13 03:58:28 +02:00
Joakim Frostegård
875eb122c7 aquatic_ws: support multiple request workers 2020-08-13 01:50:01 +02:00
Joakim Frostegård
9efc1fc66a add aquatic crate with master executable, refactor cli_helpers 2020-08-13 00:13:01 +02:00
Joakim Frostegård
9af4e4663d aquatic_ws: send responses for every event, wake mio for responses 2020-08-11 23:58:00 +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
1a3ab54b3f aquatic_ws: when removing connection, reregister from poll 2020-08-10 03:51:08 +02:00
Joakim Frostegård
2d3761fee2 impl Copy for LogLevel, remove some cloning 2020-08-09 00:27:05 +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
6f618bb013 aquatic_ws_load_test: get answer sending to work with wt-tracker 2020-08-03 07:02:42 +02:00
Joakim Frostegård
8d58f8bb70 init logger in aquatic_cli_helpers crate 2020-08-02 21:21:58 +02:00
Joakim Frostegård
561cc3db55 fix more clippy warnings 2020-08-02 00:36:56 +02:00
Joakim Frostegård
aabdf76a5d aquatic_ws: fix some clippy warnings 2020-08-02 00:07:12 +02:00
Joakim Frostegård
716228c1b1 aquatic_ws: don't run log::error on closing closed connection 2020-08-01 06:09:42 +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
0f072244ab WIP: aquatic_ws: use microseconds for poll timeout, remove unwrap 2020-08-01 03:44:29 +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