Problem:
On each client start it necessary to send to disco info to each service
to determine where is upload, muc, socks5 and other useful stuff.
This slowdowns the startup and adds some load to the network and
server. Depending on implementation and service type this is not
obligatory should happen on start but anyway the info is not cached.

XEP-0390 describes caching of disco#info for server/stream itself
and for caps from presences which usually come from contacts.
There is nothing about caps of specific services.

Proposal:
There are many ways to add caps hashes for services but it's hard
to say which one is the most appropriate. I see next ways

1. Add <c/> element to each item of disco#items.
    At least the XEP-0030 doesn't forbid it.
2. During computation of caps included in <stream:stream>
    consider also caps of services and maybe just xor them.
3. Add caps of services to <stream:stream> as a separate
    <hash/> elements with "jid" attribute
    This will also allow to avoid disco#items in some cases.
4. Invent special disco#caps request similar to disco#items

I personally prefer 1 since together with similar updates to XEP-0230
it will also provide caps update notifications.


Thanks,
Sergey
_______________________________________________
Standards mailing list
Info: https://mail.jabber.org/mailman/listinfo/standards
Unsubscribe: standards-unsubscr...@xmpp.org
_______________________________________________

Reply via email to