[Standards-JIG] Re: What happened to the ACK proposal?

Tomasz Sterna tomasz.sterna at gmail.com
Wed Aug 17 13:22:46 UTC 2005


2005/8/15, David Chisnall <theraven at sucs.org>:
> tell).  What would be more useful would be something along the
> following lines:
> 
> I tell the server I want reliable delivery mode.
> The server adds a <sequence /> tag to each message containing the
> number of the message.
> Every n messages, I reply with a message addressed to the server
> containing the last <sequence /> tag I have received.
> Messages are not deleted from the server until they are acknowledged.
> Before I disconnect, I should acknowledge all of the messages I have
> seen

Actually WPJabber's c2s component does the very same thing without a
need for any client support (JEP).

It just relies on client responses.
Every message sent to the client is buffered until recieving confirmation.
Any data recieved from the client counts as a confirmation and the
buffer is deleted.
Assuming that the client sends <presence type="unavailable" /> and/or
</stream:stream> every message is confirmed, even on client (proper)
disconnection.
If the c2s detects broken TCP stream (most probably after sending
keepalive) the buffer of unconfirmed messages is backed-up to the
session manager for storing in offline storage.

Simple, effective. And it's working live perfectly fine. :-)

-- 
smk



More information about the Standards mailing list