On Thursday 19 March 2009 15:48:37 Fabio Forno wrote:
> Yep, missed it in the example, but there more cases.  Just  suppose
> <r/ u="2"> is lost before arriving to the server and the previous
> message not. The message is processed, and now the server can't send
> back the u=2 ack since it never received the </r>.

Oh, good catch.  That's a bit silly..

> Since the stanza and the <r/> are two atomically separated things such
> problem will persist. Not a big deal for chats, but more relevant if
> this is the last step of an ad hoc command.

Earlier revisions either implied the count value from the number of stanzas 
received, or it bound the ack information with the stanza.

I think the spec is the way it is now because it allowed you to send a series 
of stanzas, followed by a sequence number "checkpoint".  But you're right, 
unless the other side knows how many stanzas you're going to send, this is a 
loss of reliability.

I don't see much value in allowing the sequence number to be out of sync with 
the stanza count, so how about we just make them match?  The value of 'u' 
could always be the number of stanzas transmitted so far, and we wouldn't 
send 'u' over the wire anymore.

-Justin

Reply via email to