Software /
code /
prosody
File
spec/scansion/muc_mediated_invite.scs @ 12462:11765f0605ec
mod_s2s: Store real stanzas in session.sendq, rather than strings
This is the "right" thing to do. Strings were more memory-efficient, but
e.g. bypassed stanza filters at reconnection time. Also not being stanzas
prevents us from potential future work, such as merging sendq with mod_smacks.
Regarding performance: we should counter the probable negative effect of this
change with other positive changes that are desired anyway - e.g. a limit on
the size of the sendq, improved in-memory representation of stanzas, s2s
backoff (e.g. if a remote server is persistently unreachable, cache this
failure for a while and don't just keep forever queuing stanzas for it).
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 23 Mar 2022 15:25:22 +0000 |
parent | 9291:329a670ae975 |
line wrap: on
line source
# MUC: Mediated invites [Client] Romeo jid: user@localhost password: password [Client] Juliet jid: user2@localhost password: password ----- Romeo connects Romeo sends: <presence to="room@conference.localhost/Romeo"> <x xmlns="http://jabber.org/protocol/muc"/> </presence> Romeo receives: <presence from='room@conference.localhost/Romeo'> <x xmlns='http://jabber.org/protocol/muc#user'> <status code='201'/> <item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/> <status code='110'/> </x> </presence> Romeo receives: <message type='groupchat' from='room@conference.localhost'><subject/></message> # Submit config form Romeo sends: <iq id='config1' to='room@conference.localhost' type='set'> <query xmlns='http://jabber.org/protocol/muc#owner'> <x xmlns='jabber:x:data' type='submit'> <field var='FORM_TYPE'> <value>http://jabber.org/protocol/muc#roomconfig</value> </field> </x> </query> </iq> Romeo receives: <iq id="config1" from="room@conference.localhost" type="result"> </iq> # Juliet connects Juliet connects Juliet sends: <presence/> Juliet receives: <presence/> # Romeo invites Juliet to join the room Romeo sends: <message to="room@conference.localhost" id="invite1"> <x xmlns="http://jabber.org/protocol/muc#user"> <invite to="${Juliet's JID}" /> </x> </message> Juliet receives: <message from="room@conference.localhost" id="invite1"> <x xmlns="http://jabber.org/protocol/muc#user"> <invite from="room@conference.localhost/Romeo"> <reason/> </invite> </x> <body>room@conference.localhost/Romeo invited you to the room room@conference.localhost</body> <x xmlns="jabber:x:conference" jid="room@conference.localhost"/> </message>