Commit graph

279 commits

Author SHA1 Message Date
Joakim Frostegård
3321f40697 Update TODO 2020-05-13 20:48:43 +02:00
Joakim Frostegård
7011a797ee Update TODO; clean up code 2020-05-13 19:40:49 +02:00
Joakim Frostegård
6d06a43db8 aquatic_ws: add setting for using tls; update TODO 2020-05-13 16:43:23 +02:00
Joakim Frostegård
300aa85cbb Update TODO 2020-05-13 16:05:38 +02:00
Joakim Frostegård
7e2f371007 aquatic_ws: simplify network code further 2020-05-13 15:14:11 +02:00
Joakim Frostegård
9c15a97975 Update TODO 2020-05-12 21:11:44 +02:00
Joakim Frostegård
289658815c Update TODO 2020-05-12 16:00:15 +02:00
Joakim Frostegård
7c9ecda53a aquatic_ws: clean torrent state periodically 2020-05-12 15:45:28 +02:00
Joakim Frostegård
de06931242 aquatic_ws: in remove_inactive_connections, run shrink_to_fit on map 2020-05-12 15:24:57 +02:00
Joakim Frostegård
e4bdfd06fb aquatic_ws: set so_reuseport on socket, with new create_listener fn 2020-05-12 15:23:25 +02:00
Joakim Frostegård
21048727db aquatic_ws: add Config, use in many places; use cli_helpers for cli
Also add mimalloc
2020-05-12 14:58:55 +02:00
Joakim Frostegård
0c8160e3d6 Update TODO: rename aquatic to aquatic_udp; add aquatic_ws TODOs 2020-05-12 12:33:14 +02:00
Joakim Frostegård
f614bab03d update TODO 2020-05-11 16:30:57 +02:00
Joakim Frostegård
ddef44fb91 Update TODO 2020-05-11 16:20:20 +02:00
Joakim Frostegård
da2d5986b9 aquatic_ws: check for "fake" peer_id's in announce requests 2020-05-11 16:07:51 +02:00
Joakim Frostegård
274799872f aquatic_ws: clean up; remove connection on IO error; update TODO 2020-05-11 14:13:58 +02:00
Joakim Frostegård
dcfc1c9854 Update TODO 2020-05-08 21:36:51 +02:00
Joakim Frostegård
b2b4f5bb89 aquatic_ws: add some serde attributes on protocol data types 2020-05-07 19:42:15 +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
c94b3d7d3c WIP: aquatic_ws: minor work, renaming, mock impls 2020-05-07 17:18:23 +02:00
Joakim Frostegård
f9428801bf aquatic: don't use atomic usizes in torrent state
Doesn't make sense any more, since now a Mutex is used, not
dashmap with RwLock-like functionality
2020-05-06 00:27:16 +02:00
Joakim Frostegård
ce1fc8c1b3 Update TODO 2020-05-04 17:11:15 +02:00
Joakim Frostegård
9130bb146d Update TODO 2020-04-20 17:03:38 +02:00
Joakim Frostegård
352f571c42 Decide to use Apache 2.0 license, add file and update Cargo.toml's 2020-04-20 16:54:43 +02:00
Joakim Frostegård
db09538037 Add cargo deny file deny.toml, check dependency licenses 2020-04-20 16:49:40 +02:00
Joakim Frostegård
8a347af5d6 Update TODO 2020-04-19 21:08:36 +02:00
Joakim Frostegård
44a58d4946 Add benchmarks to README; update TODO 2020-04-19 19:27:20 +02:00
Joakim Frostegård
61841fffc3 Update TODO 2020-04-19 12:06:06 +02:00
Joakim Frostegård
ec93760304 Update TODO 2020-04-19 10:39:52 +02:00
Joakim Frostegård
eb3ba6a2ce Update TODO 2020-04-14 22:05:20 +02:00
Joakim Frostegård
57c5d8314f Update TODO 2020-04-14 16:25:47 +02:00
Joakim Frostegård
fbeade0ca2 Update README and TODO 2020-04-13 14:41:40 +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
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
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
70cc193522 Use crossbeam channel insteaf of SegQueue
Reduces overutilization of CPU greatly
2020-04-11 21:11:25 +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
054d36b316 Update TODO 2020-04-11 15:03:45 +02:00
Joakim Frostegård
4691080602 Update TODO 2020-04-11 14:23:03 +02:00
Joakim Frostegård
fe85901021 bittorrent_udp: add RequestParseError; remove InvalidRequest; other fixes 2020-04-10 15:16:20 +02:00