Joakim Frostegård
8f0dabc706
aquatic_http: work on glommio request handlers
2021-10-27 00:45:30 +02:00
Joakim Frostegård
4fc1509a79
aquatic_http: improve mio and common request handling code
2021-10-26 23:40:11 +02:00
Joakim Frostegård
ea2366c808
aquatic_http: simplify mio request handler
2021-10-26 23:38:15 +02:00
Joakim Frostegård
ce8d1ba0d6
aquatic_http: move much logic formerly in mio module into common mod
2021-10-26 23:33:08 +02:00
Joakim Frostegård
8a66b5ce69
aquatic_udp: glommio: return Request in read_tls to reduce state
2021-10-26 22:21:38 +02:00
Joakim Frostegård
636a434ca6
aquatic_http: glommio: unless keep_alive set, close after send
2021-10-26 21:59:40 +02:00
Joakim Frostegård
eebfa69c70
aquatic_http: work on glommio network implementation
2021-10-26 21:54:41 +02:00
Joakim Frostegård
96593c97fc
WIP: aquatic_http glommio work
2021-10-26 21:12:34 +02:00
Joakim Frostegård
7fd2d4c42e
aquatic_http glommio: modify tls config and file parsing
2021-10-26 19:38:37 +02:00
Joakim Frostegård
02735ba2ff
aquatic_http: glommio: actually start socket workers
2021-10-26 19:09:50 +02:00
Joakim Frostegård
03b8f3e5c5
WIP: aquatic_udp glommio
2021-10-26 18:45:09 +02:00
Joakim Frostegård
dcb03f42e7
WIP: aquatic http glommio
2021-10-26 18:21:20 +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
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
3678e86654
Run rustfmt
2021-10-16 17:49:00 +02:00
Joakim Frostegård
48d49c9a1a
aquatic_http: use cleaner request filtering by access list
2021-10-16 17:36:56 +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
2e68155bf4
aquatic_http: use Cow<_> for FailureResponse.failure_reason
2021-10-16 00:19:58 +02:00
Joakim Frostegård
ddb1f394a1
aquatic_http: move torrent cleaning code to TorrentMaps impl
2021-10-15 23:13:26 +02:00
Joakim Frostegård
10fe014c03
aquatic_http access list: use in torrent cleaning, do periodic updates
2021-10-15 23:03:24 +02:00
Joakim Frostegård
7fec41099b
aquatic_http: check access list in announce request handler
2021-10-15 22:49:07 +02:00
Joakim Frostegård
4fa199a1e0
aquatic_http access list: add config, state field, initial load
2021-10-15 22:38:58 +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
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
8f72445b93
aquatic_http: fix debug log message for when TLS is established
2020-08-17 21:50:35 +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
b5452c2954
aquatic_http: debug-log responses in full
2020-08-16 21:15:05 +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
2b4cd2dea1
aquatic_http: support multiple request workers
2020-08-13 01:50:18 +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
cce7bd7150
aquatic_http: send responses for each event, use mio poll waker
...
This means
* less fluctuation in number of responses send per second
* longer poll timeouts can be used since poll is woken when
responses are available for sending
* drain-like method used to fetch responses from response
channel, meaning responses added while iterating won't
be processed
2020-08-10 02:53:15 +02:00
Joakim Frostegård
d9282defbc
aquatic_http: deregister connections before removing them
2020-08-09 02:30:40 +02:00
Joakim Frostegård
2893fffd20
aquatic_http: use const LISTENER_TOKEN for clarity
2020-08-09 00:44:39 +02:00
Joakim Frostegård
2d3761fee2
impl Copy for LogLevel, remove some cloning
2020-08-09 00:27:05 +02:00
Joakim Frostegård
8d58f8bb70
init logger in aquatic_cli_helpers crate
2020-08-02 21:21:58 +02:00
Joakim Frostegård
427c0bc7c3
aquatic_http: add keep_alive setting (default true)
...
This might be good for performance in the real world. It also
enables fairer load test comparisons with opentracker, which
in my understanding drops connections after sending responses.
2020-08-02 20:06:49 +02:00
Joakim Frostegård
c8b94adab5
aquatic_http: remove Connection.shutdown fn
2020-08-02 19:26:12 +02:00
Joakim Frostegård
cb3ec8cbf1
WIP: get http load test into better (but bad) state
...
Is now able to maintain correspondence with aquatic_http
and opentracker
2020-08-02 06:38:36 +02:00