[Psi-devel] coccinella bytestreams

Justin Karneges justin-psi2 at affinix.com
Wed May 16 11:09:03 PDT 2007


On Wednesday 16 May 2007 8:03 am, Hal Rottenberg wrote:
> interesting and relevant post: http://coccinella.im/node/45

Cool.  I commented, but it looks like he's got comments not showing.  Here was 
the text, in case anyone wanted to read it:

-----
Hi,

I was referred to your post here, and I just wanted to comment on a few 
things:

1) Connecting to the streamhosts in order (that is, waiting for failure before 
moving to the next one.. the XEP isn't clear on that) can result in very slow 
negotiations. Gaim, for example, is known to get stuck for many minutes if 
the first streamhost cannot be reached. A trickle-connect (like ICE) might 
make more sense than waiting for full failure, but again the XEP doesn't go 
into that kind of depth about what it means to connect in order.

2) Psi tries to prioritize the streamhosts by use of the <proxy> element. 
Basically all non-proxy streamhosts are tried first until failure, and then 
the proxy streamhosts are tried.

3) Fast mode is complex, but anything like this will be complex. Maybe it 
would have been slightly simpler to not use the extra CR character for 
activation, but the result would still be very complex. You should have seen 
the things the council used to reject: fallback from S5B to IBB in XEP-95/96 
for example (where Jive has proposed their own extension), and also the 
original reverse connection text in XEP-65 (which was like fast mode, except 
not simultaneous. initiator did a full s5b negotiation, and if that fully 
failed, the target would initiate s5b in the other direction.. how is this 
complex?!). Fortunately, the council is different now and more accepting of 
complex protocols (see Jingle, which would have been rejected instantly in 
the old days).

Anyway, great to see another fast mode implementation!

-Justin


More information about the psi-devel mailing list