On Thu, Mar 19, 2009 at 11:29 PM, Justin Karneges
<[email protected]> wrote:
> On Thursday 19 March 2009 15:21:12 Fabio Forno wrote:
>> I see one issue for perfect stream reliability: stanza suplication. An
>> example:
>>
>> [C]<message/>
>> [C]<r u="1"/>
>>
>> [S]<a h="1/>
>>
>> [C]<message/>
>> [C]<r u="2"/>
>>
>> ---- server sends back <a h="2"/> but the connection dies ---
>>
>> ---- client resumes the stream and the last ack is 1 ---
>
> Nope: server indicates last sequence number handled in the <resume> exchange.
> The client then sees the last ack is 2, and doesn't resend the message.

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>.
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.

bye

-- 
Fabio Forno, Ph.D.
Bluendo srl http://www.bluendo.com
jabber id: [email protected]

Reply via email to