On Sat, Sep 26, 2009 at 08:00:57PM +0100, Simon McVittie wrote: > I consider this to be an invariant of Tubes - clients that cannot guarantee > that they have received every message should signal it as disconnection from > the tube, dropping messages if necessary to avoid violating causal ordering. > > Clique does this correctly - if it takes too long to fetch the old messages > necessary to provide causal ordering, Salut will leave the Clique room, > dropping the unprocessed messages.
Slight correction here. In Clique if a node fails to get an old message it will re-establish the membership of the group, with only those members it can still communicate directly or indirectly with [0]. In practise that means that when this happens you will end up with a smaller group (which can have just you in it). The practical side-effect of this is that in Clique groups can split and later merge again (similar to a netsplit on IRC)! Which means that if you're a fully pedantically correct tubes application you can't assume that new members start from scratch. Sjoerd 0: For the mathematicians under us, in Clique communication is a transitive property. If node A can communicate with node B and B can communicate with node C, then A can communicate with C regardless of what the underlying network does. -- If you find a solution and become attached to it, the solution may become your next problem. _______________________________________________ telepathy mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/telepathy
