Tubes

Telepathy Tubes provide a user-to-user or user-to-group networking layer which applications can use to transfer data. Unlike a traditional peer-to-peer network, which requires IP addresses or a service discovery mechanism for locating peers, Telepathy Tubes provides contact-to-contact data transfer. Telepathy connection managers handle network traversal using the same technology as for file transfer and streamed media.

Telepathy currently offers two data formats for Tubes. StreamTube channels allow for a regular network socket to be shared between clients. This is best when adapting existing applications or protocols to run over Telepathy Tubes. DBusTube channels allow for a D-Bus bus to be shared between clients. This enables the use of D-Bus method calling and signalling rather than requiring the developer to develop their own network protocol and should be strongly considered for new applications.

Telepathy Tubes can either be one-to-one (between two users) or one-to-many (between a group of users).

An Example of Using Tubes in Your Application

Alice wants Bob’s help in editing her report. In Alice’s word processor she chooses the option to collaboratively edit this document and she is shown a list of instant-messaging contacts who are enabled for Telepathy Tubes. She selects Bob's name from the list.

The application requests an appropriate Tube channel from the Connection Manager. This channel is received and dispatched by Telepathy on Bob's computer. He is asked if he wishes to collaborate with Alice.

Bob accepts the channel. The Telepathy Connection Managers set up the best data stream from the available options given the type of network and the communications protocol.