On 26 Jan 2013 19:52, "Curtis King" <[email protected]> wrote: > On 2013-01-26, at 11:24 AM, Kevin Smith <[email protected]> wrote: > > Oh, completely misunderstood and thought the question was about losing stanzas within a stream. Yes, everyone should allow resumption, although the issue still arises for unresumable streams. > > /K > > I think it's impossible to guarantee you can resend any stanza which isn't acked without resumption. There are namespace issues, possibility user's switching clients, the known state of the receiving end, and I'm sure there are more reasons I can't think of. Acks do allow the sending end to clear that state in the resumption case and let an user know a message is delivered. How much value the latter is, is unclear to me.
Any stanza can be subject to the same issues you mention in an end to end case; the only thing that 198 does is extend the timeframe, and allow these issues to affect single links. Acks without resumption are still interesting - a client can flag unacked stanzas, a server can redirect them into offline storage as appropriate, and so on. Without resumption, but with acks, the user experience certainly isn't ideal - anything reliant on client state will be as fragile as it was before 198 (though there are ways around some of this, and the windows of failure are smaller). And interesting issue, though, is that the generic failure case with 198-ack-only is that stanzas are duplicated, whereas without any 198, the generic failure is loss. Resumption is definitely good, though. Dave.
