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.

Reply via email to