The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::BitTorrent::Todo - TODO list for Perl module Net::BitTorrent

High priorities

  • Get help

Short term goals

  • Complete test suite

    Create a series of bad .torrent files to test N::B::Session with:

    • invalid pieces string

      • string length does not % 40 evenly

      • string is shorter than 40 chars

      • piece_length * num_pieces is nowhere near total_size_of_torrent

    • private .torrent

    • private .torrent without trackers should cause some sort of warning

  • Improve detection of bad .torrent metadata.

  • Per-session transfer limits

Long term goals

  • Net::BitTorrent::Notes - Description of N::B's internals

    • Data layout

    • Behavior

    • Shortfalls

  • improve file handling

    • large torrents (> 4G) typically require 64bit math

    • .piece file to store incoming blocks

  • Wire protocol encryption (?)

    • Not internal. A callback, perhaps.

  • scripts/gui-client.pl?

    • very light gui example using Wx

  • Internal bans for 'bad' peers

    • Penalty (and eventual ban) for peers who always seem involved with bad pieces

  • PoCo::BitTorrent

    • Not to be confused with the other PoCo::BitTorrent

  • DHT/PEX

    Working but disabled by default

  • UDP trackers

  • Fast Peers

    Partial support currently

Duke Nukem: Forever

  • perlcritic severity=stern

  • non-blocking hash_check()

    • This is actually possible now with a bit of work.

    • Single class

    • No extensions

    • Trimmed API