Tubes are Telepathy's mechanism for supporting arbitrary data transfer and remote IPC.
XEP-proto-tubes: Tubes over XMPP
Support
|
One-to-one |
Group |
D-Bus tubes |
Gabble |
Gabble, Salut |
stream tubes |
Gabble |
Gabble, Salut |
Stream tubes are useful for applications that already uses TCP because the application protocol does not need to be changed to use Telepathy tubes. Applications that uses D-Bus tubes need to have a specific protocol. Applications can use several types of tubes.
Stream tubes currently means TCP. UDP tubes may be added in the future.
IB means In Band. The tubes' data use the same path as other messages. For XMPP (Gabble) it means the tubes' data is encapsulated in XML stanza and sent to a jabber server. It could be very slow for applications like VNC.
OOB means Out Of Band. The tubes' data use a different path than other messages. The tubes' data is sent directly to the remote contact.
Gabble
One-to-one D-Bus tubes: Stream initiation and In Band Bytestream (<message>s containing base64)
Group D-Bus tubes: Some kind of In Band Bytestream in a Muc. See the pseudo XEP
One-to-one stream tubes: for each tube connection: Stream initiation and In Band Bytestream
Group D-Bus tubes: for each tube connection: Stream initiation and In Band Bytestream
Out of Band is not implemented in Gabble.
Salut
- Group D-Bus tubes: raw data using the Clique protocol
Group Stream tubes: for each tube connection: Stream initiation and P2P connections (ab)using the OOB protocol

