Annotate

spec/scansion/version.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 10729:dbce2b94a7eb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10729
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 # XEP-0092: Software Version / mod_version
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3 [Client] Romeo
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 password: password
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 jid: romeo@localhost/dfaZpuxV
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 -----
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 Romeo connects
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 Romeo sends:
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 <iq id='lx2' to='localhost' type='get'>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 <query xmlns='jabber:iq:version'/>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 </iq>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 # Version string would vary so we can't do an exact match atm
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 # Inclusion of <os/> is disabled in the config, it should be absent
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 Romeo receives:
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 <iq id='lx2' from='localhost' type='result'>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 <query xmlns='jabber:iq:version' scansion:strict='true'>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 <name>Prosody</name>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 <version scansion:strict='false'/>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 </query>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 </iq>
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26
dbce2b94a7eb mod_version: Add scansion test
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 Romeo disconnects