Tubes: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Developers}}
:'''''See [[Low-level_Activity_API#Tubes]].'''''
{{Translations}}
{{TOCright}}
==Data transfer via Telepathy==


A tube is a [[Telepathy]] primitive for sending and receiving data, which can be to one person or to a group of people. Tubes can carry reliable byte streams or unreliable datagrams by analogy to TCP or UDP. When a tube is to a group, some different semantics may be more appropriate, since a shared stream is not coherent. It is up to the connection manager how tubes are implemented on top of its protocol.
=Data transfer via Telepathy=


[http://lists.freedesktop.org/archives/telepathy/2007-August/000999.html Tubes protocol (discussion)]
A tube is a Telepathy primitive for sending and receiving data, which can be to one person or to a group of people. Tubes can carry reliable byte streams or unreliable datagrams by analogy to TCP or UDP. When a tube is to a group, some different semantics may be more appropriate, since a shared stream is not coherent. It is up to the connection manager how tubes are implemented on top of its protocol.

[http://dgh.livejournal.com/3997.html Dafydd Harries on Tubes]

[http://www.robot101.net/2007/05/11/tubes-and-planets/ Rob McQueen's blog]


There are two types of Tubes at present: D-Bus Tubes and Stream Tubes.
There are two types of Tubes at present: D-Bus Tubes and Stream Tubes.


D-Bus Tubes provide D-bus functionality to signal and call methods on everyone in the room.
D-Bus Tubes provide D-Bus functionality to signal and call methods on everyone in the room.


Stream Tubes wrap TCP/IP sockets and are more suited to streaming data between two participants.
Stream Tubes wrap TCP/IP sockets and are more suited to streaming data between two participants.


==D-Bus Tubes==
===D-Bus Tubes===


A multi-user tube is represented as a D-Bus bus, and the connection manager makes a mapping between the participants in the tube and D-Bus bus name. Clients can then take advantage of D-Bus's serialisation and the bindings so that they have to do less protocol work.
A multi-user tube is represented as a D-Bus bus, and the connection manager makes a mapping between the participants in the tube and D-Bus bus name. Clients can then take advantage of D-Bus's serialisation and the bindings so that they have to do less protocol work.


==Tubes Channel Type==
===Stream Tubes===


Stream Tubes allow you to establish TCP connections with contacts or participants in a multi-user chat or conference (MUC).
In terms of the Telepathy API, we have created a channel type which has methods for enumerating existing tubes and requesting new ones. The channel might be attached to an existing channel (such as a MUC), in which case it will be automatically closed when the underlying channel is closed.


.---------.
==More on Tubes==
|TP client|--|listening socket| B
'---------' ^
C |
.----------.
|Connection|
| Manager | A
'----------'
|
_____
__/ \___
___/ \
/ \____
| \
\__ /
\ Internets /
/ \
/ \
| ___ /
\____/\ / \____/
\____/
^
|
.----------.
|Connection|
F | Manager |-|listening socket| E
'----------' ^
|
.---------.
|TP client| D
'---------'


[http://cass.no-ip.com/~cassidy/blog/index.php/post/2007/06/05/Stream-tubes-a-new-generation-of-tubes Guillaume Desmottes on Stream Tubes] [http://cass.no-ip.com/~cassidy/blog/index.php/post/2007/10/06/Inet-socket-support-in-stream-tubes more] [http://cass.no-ip.com/~cassidy/blog/index.php/post/2007/10/21/GTetrinet-through-tubes more]
[http://lists.freedesktop.org/archives/telepathy/2007-August/000999.html Tubes protocol (discussion)]


See [[Low-level_Activity_API#Stream_Tubes]] for more documentation.
[http://dgh.livejournal.com/3997.html Dafydd Harries on Tubes]


===Tubes Channel Type===
[http://www.robot101.net/2007/05/11/tubes-and-planets/ Rob McQueen's blog]

In terms of the Telepathy API, we have created a channel type which has methods for enumerating existing tubes and requesting new ones. The channel might be attached to an existing channel (such as a MUC), in which case it will be automatically closed when the underlying channel is closed.


===Proposed Standards===


See [[Telepathy#Proposed Standards]] for proto XEPs.


==See also==
===See also===
*'''[[Low-level_Activity_API#Tubes]]'''
*[[Low-level_Activity_API#Tubes]]
*[[Activity sharing]]
*[[Shared Sugar Activities]]
*[[Tubes Tutorial]]
*[[Collaboration Tutorial]]
*[[Presence Service]]
*[[Presence Service]]
*[[Presence Service DBus API]]
*[[Presence Service DBus API]]

Latest revision as of 22:16, 5 July 2011

  Please copy/paste "{{Translationlist | xx | origlang=en | translated={{{translated}}}}}" (where xx is ISO 639 language code for your translation) to Tubes/translations HowTo [ID# 257702]  +/-  

Data transfer via Telepathy

A tube is a Telepathy primitive for sending and receiving data, which can be to one person or to a group of people. Tubes can carry reliable byte streams or unreliable datagrams by analogy to TCP or UDP. When a tube is to a group, some different semantics may be more appropriate, since a shared stream is not coherent. It is up to the connection manager how tubes are implemented on top of its protocol.

Tubes protocol (discussion)

Dafydd Harries on Tubes

Rob McQueen's blog

There are two types of Tubes at present: D-Bus Tubes and Stream Tubes.

D-Bus Tubes provide D-Bus functionality to signal and call methods on everyone in the room.

Stream Tubes wrap TCP/IP sockets and are more suited to streaming data between two participants.

D-Bus Tubes

A multi-user tube is represented as a D-Bus bus, and the connection manager makes a mapping between the participants in the tube and D-Bus bus name. Clients can then take advantage of D-Bus's serialisation and the bindings so that they have to do less protocol work.

Stream Tubes

Stream Tubes allow you to establish TCP connections with contacts or participants in a multi-user chat or conference (MUC).

.---------.
|TP client|--|listening socket| B
'---------'         ^
    C               |
               .----------.
               |Connection|
               | Manager  | A
               '----------'
                    |
                  _____
               __/     \___
           ___/            \
          /                 \____
         |                       \
         \__                     /
            \    Internets      /
            /                   \
           /                     \
          |             ___      /
          \____/\      /   \____/
                 \____/
                    ^
                    |
               .----------.
               |Connection|
            F  | Manager  |-|listening socket| E
               '----------'        ^
                                   |
                              .---------.
                              |TP client| D
                              '---------'

Guillaume Desmottes on Stream Tubes more more

See Low-level_Activity_API#Stream_Tubes for more documentation.

Tubes Channel Type

In terms of the Telepathy API, we have created a channel type which has methods for enumerating existing tubes and requesting new ones. The channel might be attached to an existing channel (such as a MUC), in which case it will be automatically closed when the underlying channel is closed.

Proposed Standards

See Telepathy#Proposed Standards for proto XEPs.

See also