- Return partial piece to coordinator after reject
- Fix tracking of downloaded portion of piece after reject
- Send reject on receipt of bad request
- Mark piece unrequested after receiving bad data, so it
will be requested again, but not from the same peer
- Fix NPE in Request constructor on error
- Fix stuck before completion due to reject handling (ticket #1633)
- Store received chunks in temp files
- Don't allocate from heap for unneeded chunks
- Remove peer count restriction for torrents with large pieces
- Use priorities and rarest calculations to sort partials
- Preserve p parameter in clear messages link
- Drop queued outbound requests when choked
- Redo some data structures and locking to hopefully prevent deadlock
- Memory reduction part 3: Return partial pieces to PeerCoordinator when choked