From 3a9f3eaf06428d65c33a52a3371284e575472acd Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Fri, 9 Jan 2009 16:13:22 +0000 Subject: Add new StreamTube spec Signed-off-by: Sjoerd Simons svn path=/trunk/; revision=2150 --- extensions/Channel_Type_Stream_Tube.xml | 198 ++++++++++++++++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 extensions/Channel_Type_Stream_Tube.xml (limited to 'extensions/Channel_Type_Stream_Tube.xml') diff --git a/extensions/Channel_Type_Stream_Tube.xml b/extensions/Channel_Type_Stream_Tube.xml new file mode 100644 index 000000000..4a43a0074 --- /dev/null +++ b/extensions/Channel_Type_Stream_Tube.xml @@ -0,0 +1,198 @@ + + + Copyright (C) 2008 Collabora Limited + Copyright (C) 2008 Nokia Corporation + + This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + + + +

A stream tube is a transport for ordered, reliable data transfer, + similar to SOCK_STREAM sockets.

+ +

When offering a stream tube, the initiating client creates a local + listening socket and offers it to the recipient client using the + OfferStreamTube method. When a + recipient accepts a stream tube using the + AcceptStreamTube method, the + recipient's connection manager creates a new local listening socket. + Each time the recipient's client connects to this socket, the + initiator's connection manager proxies this connection to the + originally offered socket.

+ +
+ + + + Offer a stream tube exporting the local socket specified. + + + + The type of the listening address of the local service, as a member of + Socket_Address_Type. + + + + + The listening address of the local service, as indicated by the + address_type. + + + + + The access control the local service applies to the local socket, + specified so the connection manager can behave appropriately + when it connects. + + + + + A parameter for the access control type, to be interpreted as + specified in the documentation for the Socket_Access_Control enum. + + + + + + + The contact associated with this channel doesn't have tube + capabilities. + + + + + The connection manager doesn't support the given address type + or access-control type. + + + + + + + + Accept a stream tube that's in the "local pending" state. The + connection manager will attempt to open the tube. The tube remains in + the "local pending" state until the TubeStateChanged signal is + emitted. + + + + The type of address the connection manager should listen on. + + + + + The type of access control the connection manager should apply to + the socket. + + + + + A parameter for the access control type, to be interpreted as + specified in the documentation for the Socket_Access_Control enum. + + + + + The address on which the connection manager will listen for + connections to this tube. The client should not attempt to connect + to the address until the tube is open. + + + + + + + The access_control_param is invalid with the given access_control. + + + + + The given address type or access-control mechanism is not supported. + + + + + + + + Emitted on a stream tube when a participant opens a new connection + to its socket. + + + + The handle of the participant who opened the new connection + + + + + + +

A string representing the service name that will be used over the + tube. It should be a well-known TCP service name as defined by + + http://www.iana.org/assignments/port-numbers or + + http://www.dns-sd.org/ServiceTypes.html, for instance + "rsync" or "daap".

+

When the tube is offered, the service name is transmitted to the + other end.

+

When requesting a channel with + Connection.Interface.Requests.CreateChannel, + this property MUST be included in the request.

+
+
+ + + +

A mapping from address types (members of Socket_Address_Type) to + arrays of access-control type (members of Socket_Access_Control) + that the connection manager supports for stream tubes with that + address type. For simplicity, if a CM supports offering a + particular type of tube, it is assumed to support accepting it.

+ +

A typical value for a host without IPv6 support:

+ +
+          {
+            Socket_Address_Type_IPv4:
+              [Socket_Access_Control_Localhost, Socket_Access_Control_Port,
+               Socket_Access_Control_Netmask],
+            Socket_Address_Type_Unix:
+              [Socket_Access_Control_Localhost, Socket_Access_Control_Credentials]
+          }
+        
+ +

Connection Managers MUST support at least IPv4 with the localhost + access control.

+ +

When requesting a channel with + Connection.Interface.Requests.CreateChannel, + this property MUST NOT be included in the request.

+ +
+
+ +
+ +
+ -- cgit v1.2.3