August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Kamaelia.Protocol.Torrent.TorrentClient.TorrentClient

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:

Inboxes

Outboxes

Methods defined here

Warning!

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).

handleMessages(self)

main(self)

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

sendStatusUpdates(self)

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.

tick(self)

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.

Feedback

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