The goal if this project is to create an implementation of the file sharing API provided by the Eclipse Communication Framework using the BitTorrent protocol. The BitTorrent protocol will be implemented in 100% Java in a clean room environment. It is currently under active development and is licensed under both the MIT License and the Eclipse Public License.

Torrent torrent = new Torrent(new FileInputStream("eclipse-sdk.torrent"));
Host host = new Host(torrent);
host.start(stateListener);
// after some amount of time has passed
host.stop();

Use Case 2.1 - resume downloading a torrent after pausing it for a period of time

Torrent torrent = new Torrent(new FileInputStream("eclipse-sdk.torrent"));
Host host = new Host(torrent);
host.start(stateListener);
// after some amount of time has passed
host.pause();
// more time passes
host.resume();

Use Case 2.2 - start a download and then stop it and remove all downloaded files

Torrent torrent = new Torrent(new FileInputStream("eclipse-sdk.torrent"));
Host host = new Host(torrent);
host.start(stateListener);
// after some amount of time has passed
host.stop();
host.remove();

Use Case 3 - begin downloading from two different torrents until completion