April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.


For examples and more explanations, see the module level docs.

class TorrentClient(Axon.ThreadedComponent.threadedcomponent)

TorrentClient([tickInterval]) -> component capable of downloading/sharing torrents.

Initialises the Mainline client. Uses threadedcomponent so it doesn't have to worry about blocking I/O or making Mainline yield periodically.

Keyword arguments:



Methods defined here


You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

__init__(self[, tickInterval])

_create_torrent(self, metainfo, save_incomplete_as, save_as)

_start_torrent(self, metainfo, torrentid)

decodeTorrent(self, data)

Converts bencoded raw metadata (as one would find in a .torrent file) into a metainfo object (which one can then get the torrent's properties from).



Start the Mainline client and block indefinitely, listening for connectons.


Send a TIPCTorrentStatusUpdate for each running torrent.

startTorrent(self, metainfo, save_incomplete_as, save_as, torrentid)

startTorrent causes MultiTorrent to begin downloading a torrent eventually. Use it instead of _start_torrent as it retries repeatedly if Mainline is busy.


Called periodically... by itself (gets rawserver to call it back after a delay of tickInterval seconds). Checks inboxes and sends a status-update message for every active torrent.


Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT