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/
smime.p7s
Description: S/MIME Cryptographic Signature