Commit graph

238 commits

Author SHA1 Message Date
Joakim Frostegård
9b2c5b97df ws: add logging in create_tcp_listener 2022-07-23 17:35:11 +02:00
Joakim Frostegård
b79636730c ws: add some info level logging 2022-07-19 23:45:15 +02:00
Joakim Frostegård
7255202268 ws: add error message context when loading certificate files 2022-07-19 17:30:58 +02:00
Joakim Frostegård
7b06bf8736 ws: don't attempt to parse TLS files when running without TLS 2022-07-19 17:29:13 +02:00
Joakim Frostegård
355f3e04c6 Update ws code comments; update TODO.md 2022-07-19 17:01:07 +02:00
Joakim Frostegård
a62b2033a5 ws: avoid X-Forwarded-For parsing since we only need to know IPv4/IPv6 2022-07-19 16:12:00 +02:00
Joakim Frostegård
3b94b8e588 WIP: ws: parse X-FORWARDED-FOR headers 2022-07-19 00:56:27 +02:00
Joakim Frostegård
88971cd870 ws: rename enable_http_health_check to enable_http_health_checks 2022-07-18 23:29:45 +02:00
Joakim Frostegård
a16ce91d46 ws: make TLS optional, allow HTTP health checks without TLS only 2022-07-18 23:23:36 +02:00
Joakim Frostegård
018f32e9e9 ws: add optional HTTP 200 response for GET /health without TLS 2022-07-18 22:09:34 +02:00
Joakim Frostegård
720ceacf99 ws: remove peer from all torrent maps when connection is closed 2022-07-05 13:13:53 +02:00
Joakim Frostegård
b30da1a930 ws: store peer_id and announced info hashes in ConnectionReference 2022-07-05 12:03:51 +02:00
Joakim Frostegård
cedf0b61ca Exit with error message on unrecognized config keys 2022-07-05 11:26:46 +02:00
Joakim Frostegård
12fc8bcf1e ws: rename request workers to swarm workers 2022-07-04 11:55:53 +02:00
Joakim Frostegård
fb2794643d udp, common: rename request workers to swarm workers 2022-07-04 11:49:39 +02:00
Joakim Frostegård
945ff41ef2 Update crate descriptions 2022-06-27 22:44:45 +02:00
Joakim Frostegård
cc1eda80a7 Update rustls-pemfile to v1.0.0 2022-05-10 23:16:04 +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
bd6764afaf Move aquatic_cli_helpers code into aquatic_common and remove crate 2022-04-06 19:02:39 +02:00
Joakim Frostegård
f50c8970b5 aquatic_ws: use PanicSentinel, simplify lib.rs 2022-04-06 18:44:09 +02:00
Joakim Frostegård
3f46db01ff Run cargo fmt 2022-04-06 01:14:47 +02:00
Joakim Frostegård
cb2f7483d3 Return anyhow::Result on PrivDropper waiting and socket creation 2022-04-05 23:15:29 +02:00
Joakim Frostegård
c888017072 Improve privilege dropping; run cargo fmt 2022-04-05 01:26:40 +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
58ac5e7fe8 ws: use create_rustls_config from aquatic_common 2022-04-03 19:46:05 +02:00
Joakim Frostegård
fb607ac0c2 Improve CPU pinning 2022-03-30 22:53:15 +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
5ac5d20b6e cargo fmt 2022-03-24 16:34:13 +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
f0a1b8e1e1 ws: rewrite connection cleaning retain fn 2022-03-23 21:38:30 +01:00
Joakim Frostegård
a9f1aeb70c Add crate keywords, update descriptions 2022-03-20 20:41:56 +01:00
Joakim Frostegård
5176b18ef9 common: rename AHashIndexMap to AmortizedIndexMap 2022-03-20 19:42:46 +01:00
Joakim Frostegård
06a716f78a ws: implement network.only_ipv6 and network.tcp_backlog 2022-03-20 18:41:41 +01:00
Joakim Frostegård
07cc575e39 ws: sort dependencies alphabetically 2022-03-18 15:51:56 +01:00
Joakim Frostegård
66232df6d2 ws: remove pub visibility where not needed 2022-03-18 15:47:14 +01:00
Joakim Frostegård
193ad1689f ws: move code from common.rs into lib.rs and request.rs 2022-03-18 15:45:07 +01:00
Joakim Frostegård
667cf04085 ws: remove mio implementation 2022-03-18 15:15:34 +01:00
Joakim Frostegård
3785e57513 Sort dependencies in Cargo.toml files 2022-02-20 01:44:34 +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
7c8c67b847 Update rustls-pemfile to 0.3 2022-02-19 14:46:16 +01:00
Joakim Frostegård
f56d482760 ws: update parking_lot to 0.12 2022-02-19 14:38:18 +01:00
Joakim Frostegård
4073a1b8be Update hashbrown to 0.12 2022-02-19 14:32:31 +01:00
Joakim Frostegård
8889ab586c Use CanonicalSocketAddr in ws and http; remove old option from common 2022-02-03 19:29:21 +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