Update TODO

This commit is contained in:
Joakim Frostegård 2023-08-28 23:55:16 +02:00
parent 2e53c9a61f
commit cdc817cbdf

26
TODO.md
View file

@ -11,20 +11,13 @@
* Non-trivial dependency updates * Non-trivial dependency updates
* toml v0.7 * toml v0.7
* syn v2.0 * syn v2.0
* simd-json v0.7
## Medium priority ## Medium priority
* stagger cleaning tasks?
* Run cargo-fuzz on protocol crates * Run cargo-fuzz on protocol crates
* udp: support link to arbitrary homepage as well as embedded tracker URL in statistics page
* Consider storing torrents in separate IndexMaps. The amount should be a power * udp: support link to arbitrary homepage as well as embedded tracker URL in statistics page
of 2 and should be configurable. They could be stored in a Vec and the index
could be calculated by taking the first N bits of the info hash. Each such map
would also store when it was last cleaned. There would then be a small
configurable random chance that when an announce request is being processed,
the map will be cleaned. When doing the normal cleaning round, recently
cleaned maps would be skipped.
* quit whole program if any thread panics * quit whole program if any thread panics
* But it would be nice not to panic in workers, but to return errors instead. * But it would be nice not to panic in workers, but to return errors instead.
@ -36,11 +29,6 @@
* Run cargo-deny in CI * Run cargo-deny in CI
* udp: add IP blocklist, which would be more flexible than just adding option
for disallowing requests (claiming to be) from localhost
* stagger cleaning tasks?
* aquatic_ws * aquatic_ws
* Add cleaning task for ConnectionHandle.announced_info_hashes? * Add cleaning task for ConnectionHandle.announced_info_hashes?
* RES memory still high after traffic stops, even if torrent maps and connection slabs go down to 0 len and capacity * RES memory still high after traffic stops, even if torrent maps and connection slabs go down to 0 len and capacity
@ -48,13 +36,6 @@
* SinkExt::send maybe doesn't wake up properly? * SinkExt::send maybe doesn't wake up properly?
* related to https://github.com/sdroege/async-tungstenite/blob/master/src/compat.rs#L18 ? * related to https://github.com/sdroege/async-tungstenite/blob/master/src/compat.rs#L18 ?
* aquatic_http_private
* Consider not setting Content-type: text/plain for responses and send vec as default octet stream instead
* stored procedure
* test ip format
* check user token length
* site will likely want num_seeders and num_leechers for all torrents..
* Performance hyperoptimization (receive interrupts on correct core) * Performance hyperoptimization (receive interrupts on correct core)
* If there is no network card RSS support, do eBPF XDP CpuMap redirect based on packet info, to * If there is no network card RSS support, do eBPF XDP CpuMap redirect based on packet info, to
cpus where socket workers run. Support is work in progress in the larger Rust eBPF cpus where socket workers run. Support is work in progress in the larger Rust eBPF
@ -74,9 +55,6 @@
* aquatic_ws * aquatic_ws
* large amount of temporary allocations in serialize_20_bytes, pretty many in deserialize_20_bytes * large amount of temporary allocations in serialize_20_bytes, pretty many in deserialize_20_bytes
* extract response peers: extract "one extra" to compensate for removal,
of sender if present in selection?
# Not important # Not important
* aquatic_http: * aquatic_http: