[Telepathy] Telepathy specification meeting, 2009-05-18 (stream tube error reporting)

Will Thompson will.thompson at collabora.co.uk
Mon May 25 03:55:55 PDT 2009


Hi,

On Monday 18th, Guillaume arranged a meeting to discuss the outstanding
issues blocking the undrafting of the new StreamTube and DBusTube
interfaces.

Dramatis personæ:

* Will "wjt" Thompson
* Simon "smcv" McVittie
* Sjoerd "sjoerd" Simons
* Guillaume "cassidy" Desmottes
* Sumana "sumanah" Harihareswara

and introducing:

* Rob "Robot101" McQueen as Aslan

Review new stream-tube spec branch
==================================

http://git.collabora.co.uk/?p=telepathy-spec.git;a=shortlog;h=6fbba5388

Only review comment: in
http://git.collabora.co.uk/?p=user/cassidy/telepathy-spec;a=commitdiff;h=9427d0f3
the docstring needs the xhtml namespace.

Verdict: merge.

Stream tube error reporting
===========================

How to report that one of the bytestreams failed?  Changing UI protocol
and forcing incompatibility with previous versions to support this would
be bad.

* Problem with reporting bytestream errors by rejecting the UI
application's connection to the socket: the CM has to open the socket in
order to check the token or credentials or whatever, so it's too late.

* Ideas: Can we mandate something to avoid having to have a token method?
* Simon suggests: let's not have credentials mode and not have unix
sockets.  Everything understands TCP.
** Sjoerd doesn't like this, because it's silly to make a TCP connection
to yourself when we have better mechanisms.
** Someone noted that on Windows lots of people have silly firewalls
that will break connecting to yourself on random ports.
* Idea: Having a give-me-a-token method, and then include that token in
signals saying the bytestream broke. Maybe this is the best you can do
unless you do multiple sockets?
* Idea: On the accepting side, have multiple listeners that each only
accept once.  Instead of a token, call a "listen again" method.
* Idea: Declare multiaccepting to be declared legacy mode?   If you try
to connect twice to a listening port, then you're in legacy mode and
can't match up.  It's okay for legacy ones to fail because they aren't
tube-aware anyway.

Around this point, ROB MCQUEEN enters the CONFERENCE ROOM and declares
that certain individuals may be advocating PERFECTION over AN
IMPLEMENTABLE SOLUTION that WORKS.

* Tentative solution: Incoming & outgoing streams: 1 signal for each
side; 1 has 3 args, 1 has 1 arg. if local, has id; otherwise, 3 args are
connection parameters, the contact handle, and ID.   In each case, the
CM emits the signal whenever someone connects to the socket; if you care
about matching up your connections to the signal, then you connect once
at a time, waiting for the signal.  If stream breaks, the CM emits a
stream error signal with ID so we can identify the connection.

(Editor's note: Guillaume has since implemented this suggestion.)

Blocks on tube new API undrafting
=================================

* The only block is error reporting.

-- 
Will

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
Url : http://lists.freedesktop.org/archives/telepathy/attachments/20090525/e52cf46c/attachment.pgp 


More information about the telepathy mailing list