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
7c8c67b847
Update rustls-pemfile to 0.3
2022-02-19 14:46:16 +01:00
Joakim Frostegård
5e8777d2e2
udp, http: remove unused parking_lot dependency
2022-02-19 14:13:27 +01:00
Joakim Frostegård
84d57c1c86
http: make response sending more efficient by avoiding some copies
2022-01-30 17:13:00 +01:00
Joakim Frostegård
9ba72ce3fd
Upgrade itoa to version 1
2022-01-30 15:55:35 +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
4071d4d874
http: use idiomatic folder structure
2021-11-27 18:23:29 +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
57896f4648
http, http load test: improve CPU pinning
2021-11-07 11:25:50 +01:00
Joakim Frostegård
b8073e4bd1
Replace HashMap and IndexMap with indexmap_amortized
...
This will hopefully get down latency.
2021-11-03 10:35:29 +01:00
Joakim Frostegård
9a1993d72e
aquatic_http: use signals for reloading access list
2021-11-02 23:16:18 +01:00
Joakim Frostegård
afce23e321
aquatic_http: glommio: use futures-rustls
2021-11-01 17:18:27 +01:00
Joakim Frostegård
130377b8f4
aquatic_http: remove mio implementation
2021-10-28 01:48:32 +02:00
Joakim Frostegård
974aaf03b4
aquatic_http: set default impl to glommio for testing
2021-10-27 20:52:01 +02:00
Joakim Frostegård
d659117ae5
Move CoreAffinityConfig to aquatic_common, use in glommio http
2021-10-27 20:19:02 +02:00
Joakim Frostegård
ef10c4f366
WIP: aquatic http glommio
2021-10-26 17:29:21 +02:00
Joakim Frostegård
34bc4046b7
WIP: aquatic_http glommio impl
2021-10-26 16:26:37 +02:00
Joakim Frostegård
ad7e464788
aquatic_http: split into mio and glommio modules
2021-10-26 15:26:06 +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
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
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
8d58f8bb70
init logger in aquatic_cli_helpers crate
2020-08-02 21:21:58 +02:00
Joakim Frostegård
228511b3aa
aquatic_http: replace flume with crossbeam; clean connections less often
2020-07-24 20:36:46 +02:00
Joakim Frostegård
f1f708465a
remove aquatic_common_tcp crate, move contents into aquatic_http
...
It doesn't make a lot of sense to make a separate crate for
the few things here. I don't really want tight coupling between
the crates anyway, since it impedes making changes in them
and makes understanding them more difficult.
2020-07-21 23:01:34 +02:00
Joakim Frostegård
f2db4a43b9
Update lots of dependencies
2020-07-21 00:58:56 +02:00
Joakim Frostegård
95e25710dc
aquatic_http: move request parsing into protocol crate
2020-07-20 20:13:56 +02:00
Joakim Frostegård
4ac2012a2a
aquatic_http: move protocol module to new crate aquatic_http_protocol
2020-07-19 21:59:31 +02:00
Joakim Frostegård
4caf174da5
aquatic_http: add criterion benchmark for announce response to bytes
...
Speedup of custom implementation compared to using bendy:
announce-response-to-bytes:
time: [413.77 ns 415.34 ns 417.08 ns]
change: [-93.074% -93.021% -92.968%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 16:56:13 +02:00
Joakim Frostegård
9df1f0ecc6
aquatic_http: rewrite request parsing, use smartstring
...
Use smartstring in PeerMapKey too.
Improves benchmark speed.
request-from-path:
time: [2.1484 us 2.1530 us 2.1586 us]
change: [-24.246% -23.908% -23.570%] (p = 0.00 < 0.01)
Performance has improved.
2020-07-19 15:38:26 +02:00
Joakim Frostegård
a8e355f22a
aquatic_http: add criterion benchmarks for request from path parsing
...
About 35% improvement by using both memchr methods
2020-07-19 01:58:41 +02:00
Joakim Frostegård
056cd41732
aquatic_http: add memchr version of urldecode, which might be faster
2020-07-18 06:05:13 +02:00
Joakim Frostegård
f94c52da77
aquatic_http: send_response: use itoa and Vec::with_capacity
...
This leads to fewer allocations and possibly better performance.
2020-07-18 03:05:40 +02:00
Joakim Frostegård
8269ae2994
aquatic_http: remove (no longer used) dependency serde_urlencoded
2020-07-05 19:50:52 +02:00
Joakim Frostegård
82378e71f6
Move things to aquatic_common_tcp
2020-07-02 16:54:27 +02:00
Joakim Frostegård
2e53a2adc1
add aquatic_common_tcp crate, move common functionality there
2020-07-02 16:34:36 +02:00
Joakim Frostegård
6b1f11635b
aquatic_http: bencoded response with content-length
2020-07-02 13:47:37 +02:00
Joakim Frostegård
76079cf66e
WIP: more work on aquatic_http
2020-07-02 00:39:50 +02:00
Joakim Frostegård
404e528616
WIP: start work on http tracker
2020-07-01 18:56:19 +02:00