Commit graph

114 commits

Author SHA1 Message Date
Joakim Frostegård
6503e89375 Update TODO 2020-04-11 19:58:49 +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
eded822c31 Update TODO 2020-04-11 15:05:11 +02:00
Joakim Frostegård
9bf17b0ab4 bittorrent_udp: response_to_bytes: return Result<(), io:Error> 2020-04-11 15:03:50 +02:00
Joakim Frostegård
054d36b316 Update TODO 2020-04-11 15:03:45 +02:00
Joakim Frostegård
c45fa80391 bittorrent_udp: simplify quickcheck test syntax, keeping functionality 2020-04-11 14:57:08 +02:00
Joakim Frostegård
02b63feef7 bittorrent_udp: add quickcheck tests for request byte conversion 2020-04-11 14:53:36 +02:00
Joakim Frostegård
554895a9df bittorrent_udp: implement quickcheck::Arbitrary for request types 2020-04-11 14:43:58 +02:00
Joakim Frostegård
9a1143ffac aquatic_bench: enable loading configuration from file 2020-04-11 14:31:21 +02:00
Joakim Frostegård
4691080602 Update TODO 2020-04-11 14:23:03 +02:00
Joakim Frostegård
834a8c3fa2 cli_helpers: run_with_cli_and_config: rename function and "f" argument 2020-04-11 14:19:46 +02:00
Joakim Frostegård
688372bdf2 aquatic: announce and scrape handlers: send back error on invalid conn 2020-04-11 14:17:03 +02:00
Joakim Frostegård
b32046e768 bittorrent_udp: improve code formatting and imports 2020-04-10 15:20:27 +02:00
Joakim Frostegård
fe85901021 bittorrent_udp: add RequestParseError; remove InvalidRequest; other fixes 2020-04-10 15:16:20 +02:00
Joakim Frostegård
f80646e3a8 bittorrent_udp: add From<> for requests and responses into their enums 2020-04-10 11:19:29 +02:00
Joakim Frostegård
44b0489521 bittorrent_udp: response_to_bytes: simplify code for ipv6 announce 2020-04-10 10:10:33 +02:00
Joakim Frostegård
2fadbcc8f8 Update TODO 2020-04-10 03:35:22 +02:00
Joakim Frostegård
25f6be3940 Add scripts/test.sh for running tests with higher quickcheck settings 2020-04-10 03:30:59 +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
46f9a1d13c Update TODO 2020-04-10 03:29:55 +02:00
Joakim Frostegård
6e6633951f Update README 2020-04-10 03:29:42 +02:00
Joakim Frostegård
264ad17b7b aquatic_bench: use 20 rounds again 2020-04-10 03:29:26 +02:00
Joakim Frostegård
43b31e5e96 bittorrent_udp: request_to_bytes: fix bad writing of zero after IP 2020-04-10 01:43:00 +02:00
Joakim Frostegård
9fbcd60dff bittorrent_udp: response_from_bytes: improve announce code 2020-04-10 01:42:20 +02:00
Joakim Frostegård
b20e5912e2 bittorrent_udp: request converters: general cleanup and fixes 2020-04-10 01:22:13 +02:00
Joakim Frostegård
5bd0deb105 bittorrent_udp: requests converters: clean up 2020-04-10 01:08:54 +02:00
Joakim Frostegård
c5d746a42e bittorrent_udp: request_from_bytes: improve scrape code 2020-04-10 01:05:29 +02:00
Joakim Frostegård
acfd2a75d8 bittorrent_udp: response_to_bytes: improve code 2020-04-09 21:30:58 +02:00
Joakim Frostegård
f203250155 bittorrent_udp: response_from_bytes: more improvements 2020-04-09 21:17:30 +02:00
Joakim Frostegård
928a82e4dc bittorrent_udp: response_from_bytes: improve announce part 2020-04-09 21:08:29 +02:00
Joakim Frostegård
13e7ef6b57 bittorrent_udp: response_from_bytes: more fixes 2020-04-09 20:43:42 +02:00
Joakim Frostegård
a37b44ec89 bittorrent_udp: response_to_bytes: improve scrape encoding 2020-04-09 20:27:50 +02:00
Joakim Frostegård
9705d1822e Update TODO 2020-04-09 17:58:09 +02:00
Joakim Frostegård
8dfd49af0d cli helpers: in run function, take function as argument instead 2020-04-09 17:56:20 +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
06756f1c74 Add short README.md 2020-04-09 11:53:19 +02:00
Joakim Frostegård
05d085e076 aquatic_bench: Cargo.toml: sort dependencies alphabetically 2020-04-09 11:52:23 +02:00
Joakim Frostegård
91c764d143 Update TODO 2020-04-09 11:48:00 +02:00
Joakim Frostegård
b457df26e3 aquatic annonunce handler: downgrade TorrentMap ref instead of new .get 2020-04-09 11:46:06 +02:00
Joakim Frostegård
32edee9bbb aquatic: add #[inline] to handle_readable_socket and handlers
Also update aquatic_bench comment with new bench results
2020-04-09 10:14:53 +02:00
Joakim Frostegård
2fd732efc6 aquatic: handlers: pass rng's as function arguments 2020-04-09 09:53:18 +02:00
Joakim Frostegård
bd16cdd709 aquatic: event loop: don't preallocate request/response vectors
It's better to just allocate when needed.
2020-04-09 09:34:39 +02:00
Joakim Frostegård
eddd353621 aquatic: when statistics.interval == 0, skip adding to stats atomics 2020-04-08 22:00:52 +02:00
Joakim Frostegård
5d2e4412b3 aquatic: create function in tasks.rs for statistics printing 2020-04-08 21:55:16 +02:00
Joakim Frostegård
58fbf8b7fe aquatic: add comments to many config fields 2020-04-08 21:50:23 +02:00
Joakim Frostegård
e3b29723a4 aquatic: when config recv_buffer_size is zero, don't set on socket 2020-04-08 21:45:25 +02:00
Joakim Frostegård
ad68dda9f5 aquatic: remove unnecessary fields from Peer; general clean up 2020-04-08 21:40:36 +02:00
Joakim Frostegård
31c8864658 aquatic: put max_scrape_torrents, max_response_peers in NetworkConfig 2020-04-08 21:32:05 +02:00
Joakim Frostegård
7239e9c047 aquatic: add and use NetworkConfig.peer_announce_interval 2020-04-08 21:30:57 +02:00