Jiří Zárevúcký wrote:
>> Let's assume that connection was broken and client got 307 but not 308,
>>  client does not know version 307 at the moment, as it *does* *not* know
>> that bill@ has subscription="to". That's why I name the set of stanzas a
>> "transaction" and that's why I'm against of processing interim roster
>> pushes until client has received all pushes.
> 
> That's what I was talking about earlier, isn't it?

Excuse me, I misread your original message. You're right, that's exactly
the same situation.


>> XEP-0237 does not state that server should send "final state of all
>> touched roster items", it should send "the final result of all changes
>> applied" and the result may be understood as the difference.
> 
> that's also the reason for the ultra-rare corner case I posted earlier.
> 
> Changing the definition to "final state of all touched roster items"
> as you suggest will solve every possible problem and allow us to treat
> interim pushes as normal ones.

Right, it will also eliminate the problem with empty difference between
two roster versions — the difference will be always non-empty.

This solution increases amount of traffic a bit, but I don't think that
the corner case really deserves extra optimization.

-- 
WBRBW, Leonid Evdokimov

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to