Commit graph

124 commits

Author SHA1 Message Date
Joakim Frostegård
62a40317f9 Update TODO 2020-04-12 13:41:35 +02:00
Joakim Frostegård
cbae43e175 aquatic: HandlerConfig: add comment 2020-04-12 13:31:32 +02:00
Joakim Frostegård
ad7a8c46a9 aquatic: config: rename recv_buffer_size to socket_recv_buffer_size 2020-04-12 13:29:21 +02:00
Joakim Frostegård
5430e561f5 aquatic: Config: add fields for max handler request, channel timeout 2020-04-12 13:26:44 +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
eaa42a26b7 Update TODO 2020-04-12 12:35:05 +02:00
Joakim Frostegård
3c5b515be9 Update TODO 2020-04-11 22:22:44 +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
f37ba1e52e Use (unbounded) SegQueue instead of ArrayQueue 2020-04-11 20:00:51 +02:00
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