On 3 Sep 2008, at 15:13, Peter Saint-Andre wrote:
Pedro Melo wrote:
On Sep 3, 2008, at 5:47 AM, Peter Saint-Andre wrote:
Justin Karneges wrote:
Dragging this over from jdev:
Hmm. XMPP is not optimized for sending around 100k+ messages.
Would 64KB chunks a reasonable thing to do?
That's probably still too high. There is currently no specified
maximum
size for XMPP stanzas, but individual implementations may
enforce different
values. The original jabberd 1.0 server had around a 10KB
maximum. The
general consensus is that stanzas should be "small", and this is
largely in
part because large stanzas block transmission of other stanzas
(you cannot
send many stanzas in parallel over one stream).
Right now it's fuzzy as to how small you should chunk your data
for maximum compatibility. I think we should define the largest
stanza size that must be supported by clients and servers. We
could just make this value 10000 bytes, from the opening '<' to
the final '>' of the stanza. The text should go into RFC 3920bis
as a SHOULD.
This way, stanzas 10000 bytes or smaller are guaranteed to
succeed in transmission. Stanzas larger than 10000 bytes would
still be transmittable, but without any guarantees that the other
side will accept it (which is not any worse than the situation
today).
A question: which stanza error are we supposed to use to reject a
stanza that is too large? Such an error would be very useful to
determine the MTU.
http://www.xmpp.org/extensions/inbox/stanzalimits.html
Why not make section 3 a stream feature instead?
Like:
<stream:features>
<limits xmlns='urn:xmpp:tmp:stanza-limits'>
<size>65355</size>
<rate>10</rate>
</limits>
</stream:features>
This would signal the client that the max stanza size is 65355
bytes, and the max allowed rate of stanzas per second is 10.
I like that.
/psa
+1
I like this too. The server can inform a client ahead of time what
traffic limits are going to be enforced.
Artur
--
Artur Hefczyc
http://www.tigase.org/
http://artur.hefczyc.net/