- Single-file torrent download
- UDP & HTTP trackers
Uploading piecesDHT, PeX and Magnet links
- Peers discovery
- parse a .torrent file
- retrieve peers info(i.e. IP, port) from UDP/HTTP trackers
- Download from peers
- start a TCP connection
- complete BitTorrent peer protocol handshake
- exchange messages
- interpreting different types of messages
- manage concurrency & state
- pipelining requests
- assemble data