Off-topic: I'm cross-posting this again, since this seems to be a debate about whether this is a protocol or implementation issue (It's a protocol issue by the way ;))

On-topic:

On 2 Nov 2006, at 10:27, Bruce Campbell wrote:
Hop-by-hop tests are quite easy, too, but there's a gotcha - when they fail, you want to know which stanzas you need to resend. And XMPP does not provide any mechanism for that, and nor do pings.

If you can be assured of whitespace pings between the client and the server, the server can simply queue up all stanzas as received and forwarded, and delete from the queue any stanzas sent between successful receipt of whitespace pings. Without protocol changes, the odd duplicated stanza is probably the best of a known evil.

We discussed this idea the last time the reliable delivery discussion came around. Unfortunately, you can't do that because you have no idea what stanzas the other end received before they sent the whitespace ping, only what stanzas you had sent.

For what it's worth, I very much want to get some ack system into widespread use. For some people, with reliable server software, hardware, network infrastructure and clients, XMPP seems to be reliable already but it's really just good fortune. Once one of these starts becoming a problem, reliability goes out of the window. Since the networking team at the site my primary account is hosted have been having problems over the last couple of weeks, I've lost count of the number of people I've sent messages to only for them to never be received (and for me to not know this until I speak to the person out-of-band). As such, I'm really suffering from the current lack of reliable delivery. Per-hop acks would guarantee end-to-end delivery and would strengthen xmpp considerably. Details, such as a new TLE, or <iq> are worth discussing, but this is the moment for finally making xmpp reliable.

/K



--
Kevin Smith
Psi XMPP Client Project Leader (http://psi-im.org)



Reply via email to