SharedTorrent: Permit custom TorrentByteStorage implementations.
Torrent: 25% performance improvement in hashing.
Performance improvements to torrent validation.
Client: Don't mask unforseen exceptions.
SharedTorrent: The storage bucket isn't authoritative for size.
TorrentCreator: Correctly compute hash of last block.
HTTPTrackerClient: If you can't talk to a URL, say which URL.
Client: Include the IOException when a peer connection fails.
Tracker: Wholesale clean-up and efficiency work.
HTTPTrackerClient: Fix error handling.
TrackedPeer, TrackedTorrent: Efficiency and thread-correctness.
Netty work.
Standardize software layout.
Compiles; start writing tests.
Port to JCL.
Towards testability.
Clean up, split out to interfaces, start writing tests.
Towards more testing.
ReplicationTest and associated startup work.
Factor out Peer, Torrent to clarify static analysis. Connection routine now OK. Start hooking up state machines.