Update README and TODO

This commit is contained in:
Joakim Frostegård 2020-04-13 14:41:40 +02:00
parent c44c5b017f
commit fbeade0ca2
2 changed files with 22 additions and 14 deletions

View file

@ -1,7 +1,17 @@
# aquatic # aquatic
Fast multithreaded UDP BitTorrent tracker written in Rust Fast, multi-threaded UDP BitTorrent tracker written in Rust.
## Interesting links Aims to implements the [UDP BitTorrent protocol](https://libtorrent.org/udp_tracker_protocol.html), except that it:
- [UDP BitTorrent protocol](https://libtorrent.org/udp_tracker_protocol.html) * Doesn't care about IP addresses sent in announce requests. The packet
source IP is always used.
* Doesn't track of the number of torrent downloads (0 is always sent).
Supports IPv4 and IPv6.
There is currently no support for a info hash black- or whilelist.
## Trivia
The tracker is called aquatic because it thrives under a torrent of bits.

20
TODO.md
View file

@ -1,26 +1,25 @@
# TODO # TODO
## aquatic ## aquatic
* Use bounded request channel? * mio: set oneshot for epoll and kqueue?
* Handle Ipv4 and Ipv6 peers. Probably split state. Ipv4 peers can't make * Handle Ipv4 and Ipv6 peers. Probably split torrent state. Ipv4 peers
use of Ipv6 ones. Ipv6 ones may or may note be able to make use of Ipv4 can't make use of Ipv6 ones. Ipv6 ones may or may note be able to make
ones, have to check. use of Ipv4 ones, I have to check.
* More tests * More tests?
## aquatic_bench ## aquatic_bench
* Fix issues since switch to socket and handler workers, removal of dashmap
* Iterate over whole returned buffer and run e.g. xor on it (.iter().fold())
* Generic bench function since current functions are almost identical * Generic bench function since current functions are almost identical
* Show percentile stats for peers per torrent * Show percentile stats for peers per torrent
## bittorrent_udp ## bittorrent_udp
* Tests with good known byte sequences * Tests with good known byte sequences (requests and responses)
# Not important # Not important
## aquatic ## aquatic
* No overflow on instant + duration arithmetic now, hopefully? * No overflow on instant + duration arithmetic now, hopefully? Possibly,
checked_add should be used.
* extract_response_peers * extract_response_peers
* Cleaner code * Cleaner code
* Stack-allocated vector? * Stack-allocated vector?
@ -34,8 +33,7 @@
it. it.
## aquatic_bench ## aquatic_bench
* num_rounds command line argument * Config vars as command line arguments too?
* Send in connect reponse ids to other functions as integration test
* Save last results, check if difference is significant? * Save last results, check if difference is significant?
* ProgressBar: `[{elapsed_precise}]` and eta_precise? * ProgressBar: `[{elapsed_precise}]` and eta_precise?
* Test server over udp socket instead? * Test server over udp socket instead?