Commit graph

51 commits

Author SHA1 Message Date
Joakim Frostegård
8269ae2994 aquatic_http: remove (no longer used) dependency serde_urlencoded 2020-07-05 19:50:52 +02:00
Joakim Frostegård
1dc2f44d9c restructure aquatic_common_tcp, move more into it from aquatic_http 2020-07-03 00:23:19 +02:00
Joakim Frostegård
82378e71f6 Move things to aquatic_common_tcp 2020-07-02 16:54:27 +02:00
Joakim Frostegård
720596dfb4 move more things from aquatic_http to aquatic_common_tcp 2020-07-02 16:47:33 +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
Joakim Frostegård
3addab07f0 move plot_pareto from aquatic_udp_bench crate into own crate 2020-05-25 19:38:53 +02:00
Joakim Frostegård
2f13e1e1a8 rename crate "cli_helpers" to "aquatic_cli_helpers" 2020-05-25 19:27:22 +02:00
Joakim Frostegård
bc4ada104d rename crate "bittorrent_udp" to "aquatic_udp_protocol" 2020-05-25 19:21:52 +02:00
Joakim Frostegård
5babd8eda0 aquatic udp load test: use socket2 instead of net2 2020-05-25 18:42:23 +02:00
Joakim Frostegård
96991562e3 aquatic_udp: use socket2 instead of net2 2020-05-25 18:33:07 +02:00
Joakim Frostegård
1ec4745f45 aquatic_ws: use socket2 instead of net2 2020-05-25 18:24:36 +02:00
Joakim Frostegård
bc8916dce4 aquatic_ws: add logging with level configured by config file 2020-05-23 20:16:56 +02:00
Joakim Frostegård
f3bdb6bc2a aquatic_ws: privilege dropping; cli_helpers: show error context 2020-05-23 17:02:52 +02:00
Joakim Frostegård
7430c23ccc aquatic_ws: add simple_logger for debugging, need better solution 2020-05-23 14:53:29 +02:00
Joakim Frostegård
0f6d6d4b21 aquatic_ws: use log crate for debug error messages 2020-05-23 14:24:26 +02:00
Joakim Frostegård
526faa9aab cli_helpers: use anyhow in app fn; aquatic_ws: reorganize error handling 2020-05-23 14:05:50 +02:00
Joakim Frostegård
9a04173f65 Run cargo update 2020-05-17 12:14:59 +02:00
Joakim Frostegård
0bcfffb2bd aquatic_ws: create HandshakeMachine from ConnectionStage 2020-05-13 19:17:33 +02:00
Joakim Frostegård
de9a32840f WIP: aquatic_ws: start work on wss (ws with tls) 2020-05-12 18:48:50 +02:00
Joakim Frostegård
761952513f remove unused dependencies from aquatic_ws; run cargo update 2020-05-11 23:24:50 +02:00
Joakim Frostegård
5c83af9f88 Move some code from aquatic_udp into aquatic_common 2020-05-11 17:06:37 +02:00
Joakim Frostegård
1b8d74e26d rename aquatic to aquatic_udp, same for bench and load test crates 2020-05-11 16:55:46 +02:00
Joakim Frostegård
5b58db90e3 aquatic_ws: pass on offers to other peers; minor fixes 2020-05-08 21:05:46 +02:00
Joakim Frostegård
4d0c3d309a aquatic_ws: add tungstenite::Message encode and decode, not tested 2020-05-07 19:34:28 +02:00
Joakim Frostegård
cf75a07a7e WIP: aquatic_ws: start work on data structures, data flow 2020-05-07 16:49:28 +02:00
Joakim Frostegård
1080652282 WIP: start work on webtorrent support 2020-05-07 01:08:29 +02:00
Joakim Frostegård
6110017980 aquatic: add setting for dropping privileges after opening sockets 2020-05-06 15:54:03 +02:00
Joakim Frostegård
c8ce374736 Run cargo update 2020-04-28 13:25:59 +02:00
Joakim Frostegård
f6ed47fec7 add aquatic_load_test for benchmarking aquatic over the network 2020-04-19 10:21:12 +02:00
Joakim Frostegård
f4ca9c2795 aquatic_bench: start work on fixing it: create new connect bencher 2020-04-13 01:34:05 +02:00
Joakim Frostegård
e61c961126 Use hashbrown hashmap directly for faster hash (ahash) 2020-04-12 13:19:07 +02:00
Joakim Frostegård
558ddadf28 Remove DashMap, use parking_lot::Mutex<HashMap> instead 2020-04-11 22:07:09 +02:00
Joakim Frostegård
70cc193522 Use crossbeam channel insteaf of SegQueue
Reduces overutilization of CPU greatly
2020-04-11 21:11:25 +02:00
Joakim Frostegård
3527952242 start work on using seperate threads for sockets and handlers 2020-04-11 19:35:15 +02:00
Joakim Frostegård
8d7cbb7926 aquatic_bench: test multiple threads at once, with disappointing results
DashMap doesn't scale as well as I had hoped. Only the scrape
handler performed somewhat better with more threads, since it
doesn't exlusively lock the torrent map. The announce and connect
handlers, however, gained barely nothing from more threads.
2020-04-11 17:54:23 +02:00
Joakim Frostegård
9a1143ffac aquatic_bench: enable loading configuration from file 2020-04-11 14:31:21 +02:00
Joakim Frostegård
c964f05e84 bittorrent_udp: add quickcheck tests for response byte conversion 2020-04-10 03:30:53 +02:00
Joakim Frostegård
ac52668a3d add crate cli_helpers with option and config parsing; use in aquatic
Putting cli functionality into its own crate will allow using it
from aquatic_bench and possibly other programs.
2020-04-09 16:55:40 +02:00
Joakim Frostegård
a99688a5a2 benchmark byte conversion as well; bittorrent_udp: use buffers 2020-04-07 20:19:28 +02:00
Joakim Frostegård
51590a3d6c aquatic: print stats about number of peers per torrent 2020-04-07 16:57:34 +02:00
Joakim Frostegård
0ca5040cbe bench_handlers: add indicatif progress bars (nice but a bit unnecessary) 2020-04-06 13:51:03 +02:00
Joakim Frostegård
165214018c Move benchmarks to seperate crate "aquatic_bench" 2020-04-06 12:49:54 +02:00
Joakim Frostegård
8c57b3c4fe bench_handlers: run several test rounds, print averages 2020-04-06 03:43:06 +02:00
Joakim Frostegård
9d66a5e7d0 Use mimalloc instead of system allocator 2020-04-06 02:42:23 +02:00
Joakim Frostegård
ab457aaf82 bench: add pareto plot util; use other shape in bench; refactor 2020-04-05 16:00:48 +02:00
Joakim Frostegård
496c06b72f add benchmarks for connect and announce handlers 2020-04-05 13:51:31 +02:00
Joakim Frostegård
c26fc942e3 Add quickcheck tests; actually delete types.rs file 2020-04-05 04:07:18 +02:00