Joakim Frostegård
cedf0b61ca
Exit with error message on unrecognized config keys
2022-07-05 11:26:46 +02:00
Joakim Frostegård
c229872134
Use idiomatic feature names & namespace support from Rust 1.60
2022-04-10 01:25:03 +02:00
Joakim Frostegård
0a63ee3ce7
load testers: name worker threads "load-test"
2022-04-06 19:15:01 +02:00
Joakim Frostegård
bd6764afaf
Move aquatic_cli_helpers code into aquatic_common and remove crate
2022-04-06 19:02:39 +02:00
Joakim Frostegård
908e18360c
Merge branch 'master' into cpu-pinning-2022-03-30
2022-04-04 22:49:25 +02:00
Joakim Frostegård
6c149331dc
Rewrite CpuPinningConfig implementation to support aquatic_toml_config
2022-04-04 22:38:47 +02:00
Joakim Frostegård
c18a59b0cb
Use proper workspace path declarations, remove workspace patch section
2022-04-04 12:46:42 +02:00
Joakim Frostegård
fb607ac0c2
Improve CPU pinning
2022-03-30 22:53:15 +02:00
Joakim Frostegård
f047155366
Add Cargo.toml descriptions for load testers
2022-03-26 12:04:10 +01: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
f5b1cd5525
Add command-line option for printing version and commit info
2022-03-24 16:17:17 +01:00
Joakim Frostegård
a9f1aeb70c
Add crate keywords, update descriptions
2022-03-20 20:41:56 +01:00
Joakim Frostegård
3785e57513
Sort dependencies in Cargo.toml files
2022-02-20 01:44:34 +01:00
Joakim Frostegård
f18fc52675
Run cargo fmt
2022-02-20 00:45:04 +01:00
Joakim Frostegård
f6a7514fb8
Update to glommio version 0.7 (using crates.io instead of git version)
2022-02-19 15:32:25 +01:00
Joakim Frostegård
14a4c10546
s/toml_config/aquatic_toml_config/
2022-02-19 15:11:00 +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
ee6ce8f0e9
Remove hashbrown dependency where unused
2022-02-19 14:27:00 +01:00
Joakim Frostegård
a208775104
Include documentation in printed config files ( #41 )
...
* Start work on printing toml config with comments
* WIP: toml_config: extract default values for fields
* WIP: toml_config: handle single-level nested structs
* WIP: toml_config: improve comment handling, std type trait impls
* WIP: toml_config: add Private trait, improve comment handling, clean up
* toml_config: fix default value bug; improve tests
* Use toml_config in all applicable crates; add toml_config enum support
* toml_config: improve comments
* toml_config_derive: support enum comments
* Improve config comments for udp, cli_helpers, common
* Improve config comments
* Add tests for Config struct TomlConfig implementations
* Improve Config comments
* Improve Config comments
* ws, http: add config comments for tls cert and private key lines
* small fixes to toml_config and toml_config_derive
* Run cargo fmt
* Fix typo in several config comments
* Update README
* Update README
2021-12-26 11:33:27 +01:00
Joakim Frostegård
67c4c02bbd
aquatic_ws: mio: replace native_tls with rustls, rewrite connection state logic completely ( #38 )
...
* ws: mio: use rustls, rewrite Connection logic
* ws: mio: improve poll register/deregister handling
* ws: mio: work on type-level poll registry safety
* ws: mio: use stronger poll registry type-level guarantees
* ws: mio: fix stream reading
* ws: clean up, run fmt
* ws: mio: don't require registered connection for writing, improve docs
* ws: mio: add Connection::get_meta(), make Connection::meta private
* ws: mio: add ConnectionMap struct; remove utils.rs
* ws: mio: move token counter into ConnectionMap, improve docs
* ws: mio: connection: move Connection struct above state structs
* Update TODO
* ws: fix build errors
* ws: upgrade to tungstenite 0.16
* ws load test: don't panic on Close message; print shorter errors
* ws: fix socket worker bugs, add log statements
* ws: mio: wait for write availability if would block for ws messages
* Update README
* ws: mio: limit channels & queues; read 1 message only; other fixes
* ws: mio: send local responses each event; decrease channel size
* Update TODO
* ws: mio: limit ws send queue, fixing memory leak; limit pending messages
Also change some log output levels and run rustfmt
* Update TODO
* Update TODO
2021-12-16 16:09:36 +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
4f8328b70a
Feature-gate CPU pinning, since it only works on Linux
2021-11-09 11:40:16 +01:00
Joakim Frostegård
e86410291a
cpu pinning: set affinity to multiple hyperthreads, fix issues
2021-11-07 13:31:03 +01:00
Joakim Frostegård
b653e3e3ff
ws load test: add cpu pinning and log crate logging
2021-11-07 12:00:36 +01:00
Joakim Frostegård
78d29770f3
aquatic_ws, aquatic_ws_load_test: cargo fmt
2021-11-02 20:33:14 +01:00
Joakim Frostegård
814cd0e6d0
aquatic_ws_load_test: remove unused config fields
2021-11-02 16:34:22 +01:00
Joakim Frostegård
6d4e090061
ws load test: send offer answers
2021-11-02 11:51:51 +01:00
Joakim Frostegård
839f516dcb
ws load test: rewrite with glommio and futures-rustls
2021-11-02 11:38:11 +01: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
fae0692f90
Upgrade tungstenite
2021-08-16 23:22:56 +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
e1260d14de
Update rand to 0.8 and rand_distr to 0.4
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
0aa781a79c
aquatic_ws_load_test: fix unused variable compiler warnings
2020-08-13 00:54:14 +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
01a3e7795a
aquatic ws load test: set default num_connections to 16
2020-08-12 01:38:29 +02:00
Joakim Frostegård
dea88020a5
aquatic ws load test: use longer json value when sending answer
2020-08-12 00:52:07 +02:00
Joakim Frostegård
0c168404db
aquatic ws load test: add offers_per_request config var, default 10
2020-08-12 00:42:21 +02:00
Joakim Frostegård
0a23b62bd5
aquatic ws load test: gen random PeerId per connection
...
Necessary for multiple workers
2020-08-09 00:42:09 +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