Joakim Frostegård
eb3ba6a2ce
Update TODO
2020-04-14 22:05:20 +02:00
Joakim Frostegård
4127cbc7c9
aquatic: handlers: minor syntax and comment improvements
2020-04-14 20:13:12 +02:00
Joakim Frostegård
6fca5cd9d5
aquatic: config: resort to default values for keys not present in file
2020-04-14 17:45:35 +02:00
Joakim Frostegård
57c5d8314f
Update TODO
2020-04-14 16:25:47 +02:00
Joakim Frostegård
f0ec858bef
socket workers: add Vec for requests (send together) and responses
...
Local response vector is used for error responses
2020-04-13 17:13:03 +02:00
Joakim Frostegård
6950726b3c
aquatic: actually send error responses from parsing
2020-04-13 16:52:05 +02:00
Joakim Frostegård
fbeade0ca2
Update README and TODO
2020-04-13 14:41:40 +02:00
Joakim Frostegård
c44c5b017f
aquatic: announce: fix bug in calculation of number of peers to take
2020-04-13 12:52:58 +02:00
Joakim Frostegård
8f68b3a9a2
aquatic: config: change default settings
2020-04-13 12:50:53 +02:00
Joakim Frostegård
ca52b44389
split connection and torrent mutexes again
2020-04-13 12:01:17 +02:00
Joakim Frostegård
b9a9a82207
bench: add announce and scrape benchmarks
...
Only announce seems to be faster with more threads
2020-04-13 03:23:17 +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
6c4013ca55
Update TODO
2020-04-12 22:09:34 +02:00
Joakim Frostegård
06ff4ad9d0
aquatic: save valid_until Instant in connections and requests
...
Hopefully prevents strange subtraction overflow error, but
we'll see.
2020-04-12 22:04:42 +02:00
Joakim Frostegård
587096f76f
aquatic: give threads names when spawning them
2020-04-12 21:46:48 +02:00
Joakim Frostegård
140aa4b75d
aquatic: improve naming of socket workers, request workers
2020-04-12 21:40:38 +02:00
Joakim Frostegård
f8713c09c1
aquatic: handler: put responses in vector, send after releasing lock
2020-04-12 14:54:38 +02:00
Joakim Frostegård
16155f3de5
Update TODO
2020-04-12 14:46:49 +02:00
Joakim Frostegård
2779b6ec3a
aquatic: lock connections and torrents together; optimize handler
...
Handler: don't stop collecting requests early unless mutex can
be unlocked.
2020-04-12 14:44:34 +02:00
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