Stage 0:
*rework hashing/piece layers data organization
*verify correctness of file_hash w/ bep0052.py script
--watch -- SKIP
+-tests - HERE
+ -tree creation tests
+ -with torrent root directory
+ -how this interacts with watching of directories
+-refactor add.c
+ -clean up, simplify, abstract, rename, etc. to make more clear
+-torrent_file()
+-torrent_magnet()
+-feed
+ -create feeds
+ -parsing of meta files
+-watch
*start watching thread
*figure out flags
-blocking vs. non-blocking
-on modification
-rebuild torrents+feeds
--refactor add.c
- -clean up, simplify, abstract, rename, etc. to make more clear
--feed
- -prerequistes
- *bencode/decoding
- *build merkle tree
- -create .torrent files
- -magnet links
-networking
-port option
- -consider removing block->data
- -how to send data efficiently
-signal handler
-graceful shutdown
-watch threads
-during adding
-mid-request in server
-daemonize
--tests - HERE
- *file_hash
- -fs
- -concat tests
- -tree creation tests
- -with torrent root directory
- -how this interacts with watching of directories
Stage 1:
-basic bittorrent functionality
+ -http://bittorrent.org/beps/bep_0000.html
-BEP_0003
-BEP_0052
-http://bittorrent.org/beps/bep_0052.html
-BEP_0010
-tcp+udp functionality
-create/add torrents
--trackers
-create feeds
-meta files, torrent names
-bring in feeds from old project
+-trackers
-performance
Stage 2:
-dht
+
+Stage 3:
-webtorrents
Later: