Yeah...XEP-0059 seems to be that what i searched... :)

On 10/11/06, Jean-Louis Seguineau <[EMAIL PROTECTED] > wrote:
Hi Tobias,

I believe it would be a perfect use of XEP-0059 Result Set Management. And
that would bode well with the XMPP approach of letting server do the hard
work. In addition, it would not break existing client or server
implementations.

Jean-Louis

-----Original Message-----
Message: 2
Date: Wed, 11 Oct 2006 15:29:03 +0200
From: "Tobias Markmann" <[EMAIL PROTECTED]>
Subject: [jdev] Service Discovery (XEP-0030) and large item sets
To: "Jabber software development list" <[email protected]>
Message-ID:
        < [EMAIL PROTECTED]>
Content-Type: text/plain; charset="utf-8"

Hi,

Given the following query stanza:

<iq id='75'
>     to=' conference.jabber.org'
>     type='get'
>     xml:lang='de-DE'>
>   <query xmlns='http://jabber.org/protocol/disco#items'/>
> </iq>


The server responds to this stanza with a large stanza, with hundreds of
items. If XMPP gets more common MUCs will have a lot more rooms. So why
don't split large stanzas in smaller chunks. Like in the following example:

<iq from='conference.jabber.org'
>     to='[EMAIL PROTECTED]/home'
>     id='75'
>     type='result'
>     part='1'
>     part-count='2'>
>   <query xmlns='http://jabber.org/protocol/disco#items'>
>     <item jid=' [EMAIL PROTECTED]'
>     name='comitedesabios (0)'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='asilo (0)'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='blondie (1)'/>
>     <item jid='[EMAIL PROTECTED] '
>     name='Babilu esperante (4)'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='Hawaii (0)'/>
>   </query>
> </iq>
>
> <iq from='conference.jabber.org'
>     to='[EMAIL PROTECTED]/home'
>     id='75'
>     type='result'
>     part='2'
>     part-count='2'>
>   <query xmlns='http://jabber.org/protocol/disco#items'>
>     <item jid=' [EMAIL PROTECTED]'
>     name='kanava (0)'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='Profit (3)'/>
>     <item jid='!use@ conference.jabber.org'
>     name='!use (0)'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='Directnet (1)'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='stevegt-ctl (1)'/>
>     <item jid=' [EMAIL PROTECTED]'
>     name='asplinux'/>
>     <item jid='[EMAIL PROTECTED]'
>     name='international (0)'/>
>   </query>
> </iq>



This will result in some advantages like:

   - smaller XML stanza sizes -> easier to handle for servers
   - better responsiveness because you can still retrieve presences or
   other messages while receiving a large stanza

If someone knows a better way to do something like this, please tell me
about it.

regards
Tobias



Reply via email to