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