mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
Update README and TODO
This commit is contained in:
parent
c44c5b017f
commit
fbeade0ca2
2 changed files with 22 additions and 14 deletions
16
README.md
16
README.md
|
|
@ -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
20
TODO.md
|
|
@ -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?
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue