xmpp.filetransfer.IBB

Package xmpp :: Module filetransfer :: Class IBB |
[hide private]
[frames] | no frames]

# Class IBB

source code

    client.PlugIn --+
                    |
                   IBB

IBB used to transfer small-sized data chunk over estabilished xmpp connection. Data is split into small blocks (by default 3000 bytes each), encoded as base 64 and sent to another entity that compiles these blocks back into the data chunk. This is very inefficiend but should work under any circumstances. Note that using IBB normally should be the last resort.

Instance Methods | [hide private]
__init__(self) Initialise internal variables. | source code
plugin(self, owner) Register handlers for receiving incoming datastreams. | source code
IqHandler(self, conn, stanza) Handles streams state change. | source code
StreamOpenHandler(self, conn, stanza) Handles opening of new incoming stream. | source code
OpenStream(self, sid, to, fp, blocksize=3000) Start new stream. | source code
SendHandler(self, conn) Send next portion of data if it is time to do it. | source code
ReceiveHandler(self, conn, stanza) Receive next portion of incoming datastream and store it write it to temporary file. | source code
StreamCloseHandler(self, conn, stanza) Handle stream closure due to all data transmitted. | source code
StreamBrokenHandler(self, conn, stanza) Handle stream closure due to all some error while receiving data. | source code
StreamOpenReplyHandler(self, conn, stanza) Handle remote side reply about is it agree or not to receive our datastream. | source code
Inherited from `client.PlugIn`: `DEBUG`, `PlugIn`, `PlugOut`

Method Details | [hide private]

### __init__(self) (Constructor) | source code
Initialise internal variables. Overrides: client.PlugIn.__init__

### plugin(self, owner) | source code
Register handlers for receiving incoming datastreams. Used internally.

### IqHandler(self, conn, stanza) | source code
Handles streams state change. Used internally.

### StreamOpenHandler(self, conn, stanza) | source code
Handles opening of new incoming stream. Used internally.

### OpenStream(self, sid, to, fp, blocksize=3000) | source code
Start new stream. You should provide stream id 'sid', the endpoind jid 'to', the file object containing info for send 'fp'. Also the desired blocksize can be specified. Take into account that recommended stanza size is 4k and IBB uses base64 encoding that increases size of data by 1/3.

### SendHandler(self, conn) | source code
Send next portion of data if it is time to do it. Used internally.

### ReceiveHandler(self, conn, stanza) | source code
Receive next portion of incoming datastream and store it write it to temporary file. Used internally.

### StreamCloseHandler(self, conn, stanza) | source code
Handle stream closure due to all data transmitted. Raise xmpppy event specifying successfull data receive.

### StreamBrokenHandler(self, conn, stanza) | source code
Handle stream closure due to all some error while receiving data. Raise xmpppy event specifying unsuccessfull data receive.

### StreamOpenReplyHandler(self, conn, stanza) | source code
Handle remote side reply about is it agree or not to receive our datastream. Used internally. Raises xmpppy event specfiying if the data transfer is agreed upon.