combinatorrent
combinatorrent copied to clipboard
A bittorrent client written in Haskell
There is an extension for supporting multiple trackers in the same torrent. This extension should be added. There are numerous torrents out there where the main tracker is dead and...
Figure out how to avoid the death and how to improve the code such that it doesn't happen.
The command-line parser is currently quite weak and simple. It can be improved to handle many more commands and do much more than what is currently possible. If you are...
When we grab pieces from the Piece Manager, let it provide us with a pruned set of pieces we can ask with later. This way, we only need to consider...
We currently always request 25 blocks and then do a rerequest when it hits 5 blocks left. In practice, a better solution is to take the upload rate, multiply it...
When we complete a piece at our end, it is mandatory to send a _HAVE_ message to other peers so they can begin requesting the piece from us. However, if...
The Wire protocol mandates use of Word32 rather than the "Int" or "Integer" types. Change the protocol parsers to do this correctly.
- Investigate and use the Event Library of Bryan O'Sullivan and Johan Tibell: [A Haskell event notification library - Github](http://github.com/tibbe/event)
Combinatorrent currently just naively sends the Bitfield message irregardless of the corner cases. It would be more beneficial to send HAVE ALL or HAVE NONE if that is indeed the...
The SUGGEST message from the fast extension can perhaps be used for optimizing seeding.