On 4/17/09 10:21 AM, Leonid Evdokimov wrote:
> 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.

I think this works well.

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

Agreed.

I'm working to update the spec now...

Peter

-- 
Peter Saint-Andre
https://stpeter.im/


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to