inspired by tutorial
- copying the contents of a .torrent file doesn't work (idk why)
- copying the entire file then changing it's name is ok
- bencode encoder
- bencode decoder
- bencode decoder
- bencode encoder
- get peers with tracker
- request udp connection
- recieve peers
- download
- tcp connection
- grouping
- handshakes
- pieces
- handling messages
- managing connections and pieces
- the doubling of the timeout duration doesn't effect the actual timeout