
- Fix mb display in text_element too.


== Optimize after next release ==

Use const char* for the variable maps. We're always going to insert
static strings or search with keys that are in buffers persistant for
the duration of the search.


- Doc for preload stuff?


- Check how many peers we received, and only reconnect if we got less
  than request size.

- Fix erasing in HashQueue.



- Check diskspace before opening a new/incomplete torrent.


- Change the handshake signal arguments.

- Hmm... change dropped, check error != 0.


- Move signals to their respective classes in the interface.


- Add a check to see if there's enough space on disk for the torrent.


!!! Test hashing very large torrents. You got one queued ;)

- Allow setting the source port. Also move stuff like bind address.


! Consider single file multi-file torrents.

- Mark protected/private as hidden.

| Configurable tracker request behavior.





! Remove the chunk range from File, use actual bytes for progress
  instead?

- Allow flags when starting/opening that do extra error checking or
  ignore them.


== Encryption patch ==

 * Do I like the formating of the errors variables?

* Do I like ConnectionManager::HandshakeMessage? Probably don't want an enum for this.

* Should be configurable?

  static const uint32_t protocol_bitfield = 5;


* Remember how far we've searched for the sync string.

* Move encrypt buffer init.



- New global torrent class.

- Add an option for hiding various parts of the info screen.


Check that resume data isn't removed when loading files.


== Preloading ==

- Add a timer/flag to the chunk thing for when we last time
  preloaded. Possibly reset after unmapping.

- Protect against numerous small requests.


== Stats ==

Disk stats.



- Fix the resume interface.


Consider why the size isn't in available in std::array.

Make sure we properly clear PeerInfo's id before exposing it.



- Tracker dump does not show failed tracker connects.

- Write in the man page about the cost of the various encryption settings.

- Change the default compiler flag for both branches when 4.1.x is detected?

- Check that we correctly stop (or fixed the stopping) of torrents
  that fail hash checks.


When it does the missing files thing, it actually creates the missing file... bad.

http://libtorrent.rakshasa.no/ticket/505 hashing bug.



Make sure doing a hashing doesn't reset downloaded.




== Tracker ==

Allow us to shut down without causing all the tracker stuff to happen,
as some kind of short pause, rather than real stop.


==

Use a common cache for have piece messages. Timestamp and index, make
sure it handles cases where indices are added on the same timestamps
as PC's have sent and updated their stamp. So it might need to be
either geq or use unique timestamp+n.

Handshakes will save the timestamp of their bitfield.
