[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