On 4/17/09 9:07 AM, Dave Cridland wrote:
> On Fri Apr 17 16:05:06 2009, Jiří Zárevúcký wrote:
>> 2009/4/17 Dave Cridland <[email protected]>:
>>
>> > While you're looking at this, what's your opinion on the empty
>> roster case?
>> > (That is, when a roster becomes empty).
>> >
>> > It's an odd edge case, but I'm not sure the protocol handles this
>> usefully.
>> >
>>
>> That's really tricky. And surely can't stay that way, since client
>> wouldn't know, how to interpret it in some cases.
>>
>> I think it could be solved by sending interim pushes _first_, then an
>> empty IQ result to mark interim pushes were all sent.
>> What do you think?

We can't send an IQ-result that's unrelated to any IQ-set or IQ-get.

> Or we could respond with "What you have is okay, I may send you some
> pushes", by returning an empty result 

That seems better.

> - we've established there's no
> need to treat these pushes any differently to normal ones, after all.

That principle is key, here.

> This then means that an empty roster is different to an empty result,
> and means fewer octets for the optimal case.

Aha, so you are suggesting that an empty roster is this:

<iq type='result'>
  <query/>
</iq>

Whereas an indication that you are up to date (aside from possibly some
roster pushes) is this:

<iq type='result'/>

Correct?

/me ponders

Peter

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


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

Reply via email to