[Standards-JIG] The Ack Hack.

Michal vorner Vaner michal.vaner at kdemail.net
Thu May 11 06:56:35 UTC 2006


On Wed, May 10, 2006 at 10:41:25PM +0100, Dave Cridland wrote:
> On Wed May 10 19:14:47 2006, Richard Dobson wrote:
> >If I have misunderstood can you explain exactly what he means by 
> >his reconnection stuff then?
> 
> If your connection gets lost, you go offline - just as now - and you 
> try to reconnect as soon as possible - just as now - and somehow, you 
> figure out which messages got there and which didn't - just as now.
> 
> "Hey, I'm back now, sorry, connection died. Did you get my last 
> message?" - except in deciated protocol, hop-by-hop, not as human 
> dialogue encapsulated in end to end message stanzas.
> 
> That's all - no servers maintaining a proxy presence, no roster delta 
> protocols, no eliding a full and complete startup sequence. (In fact, 
> I'm adding to it).
> 
> The biggest change is pulling the last step from end to end to 
> hop-by-hop, and from human interaction to protocol.
> 
> None of this mentions the acks themselves, please note - that's 
> because they're purely an optimization. The entire protocol works 
> absolutely fine without them, it's just it becomes quite costly in 
> terms of memory. Since the acks don't "do" anything, I've tried to 
> minimize their impact.
> 

But, this has a significant problem. There are many clients that has no
way of remembering these numbers between sessions. It can as well be my
computer goes down and it does not save the number to its disk. It may
be that the power is off unexpectadly and I use my mobile phone client,
which did not have the last conversation.

I guess this "last seen stanza" thing is here just to get rid of
duplicities, right? Because if it comes to that the client is completely
differen, forgot it somehow or whatever, all the stanzas are sent and
the unlucky user can sort the messages he saw out by himself, instead of
not getting them.

Anyway, the usual situation is something like my connection goes down
entirely (if not, the TCP heals itself after a minute), so I know my
messages will not arrive, because nothing from the internet works for me
now. But, the server has no idea what happened and it has to timeout the
connection - which is the place where they get lost.

I'm against shorting the timeout to something like 30 seconds, I already
had a situation where it recovered after 2 minutes. The connection would
be lost, I would have to enter all roomes, etc. I just want the thing
that if the connection does not recover, to store the messages for some
future time.

-- 

Work with computer has 2 phases. First, computer waits for the user to 
tell it what to do, then the user waits for the computer to do it.
Therefore, computer work consists mostly of waiting.

Michal "vorner" Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/standards/attachments/20060511/fcf84687/attachment.sig>


More information about the Standards mailing list