author | Kim Alvefur <zash@zash.se> |
Sun, 03 Apr 2016 14:42:54 +0200 | |
changeset 2158 | ada71b81425a |
parent 2067 | 6055a0164d63 |
child 2398 | 4c27ebcf4cbd |
permissions | -rw-r--r-- |
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
1 |
--- |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
2 |
labels: |
2158
ada71b81425a
mod_smacks/README: Too buggy for a "Beta" label
Kim Alvefur <zash@zash.se>
parents:
2067
diff
changeset
|
3 |
- 'Stage-Alpha' |
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
4 |
summary: 'XEP-0198: Reliability and fast reconnects for XMPP' |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
5 |
... |
1786 | 6 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
7 |
Introduction |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
8 |
============ |
1786 | 9 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
10 |
By default XMPP is as reliable as your network is. Unfortunately in some |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
11 |
cases that is not very reliable - in some network conditions disconnects |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
12 |
can be frequent and message loss can occur. |
1786 | 13 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
14 |
To overcome this, XMPP has an optional extension (XEP-0198: Stream |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
15 |
Management) which, when supported by both the client and server, can |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
16 |
allow a client to resume a disconnected session, and prevent message |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
17 |
loss. |
1786 | 18 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
19 |
Details |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
20 |
======= |
1786 | 21 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
22 |
When using XEP-0198 both the client and the server keep a queue of the |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
23 |
most recently sent stanzas - this is cleared when the other end |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
24 |
acknowledges they have received the stanzas. If the client disconnects, |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
25 |
instead of marking the user offline the server pretends the client is |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
26 |
still online for a short (configurable) period of time. If the client |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
27 |
reconnects within this period, any stanzas in the queue that the client |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
28 |
did not receive are re-sent. |
1786 | 29 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
30 |
If the client fails to reconnect before the timeout then it is marked |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
31 |
offline as normal, and any stanzas in the queue are returned to the |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
32 |
sender as a "recipient-unavailable" error. |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
33 |
|
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
34 |
Configuration |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
35 |
============= |
1786 | 36 |
|
2067
6055a0164d63
mod_smacks/README: Add s2s-smacks and num unacked stanzas options to table
Kim Alvefur <zash@zash.se>
parents:
2047
diff
changeset
|
37 |
Option Default Description |
6055a0164d63
mod_smacks/README: Add s2s-smacks and num unacked stanzas options to table
Kim Alvefur <zash@zash.se>
parents:
2047
diff
changeset
|
38 |
------------------------------ ----------------- ----------------------------------------------------------------------------------------- |
6055a0164d63
mod_smacks/README: Add s2s-smacks and num unacked stanzas options to table
Kim Alvefur <zash@zash.se>
parents:
2047
diff
changeset
|
39 |
`smacks_hibernation_time` 300 (5 minutes) The number of seconds a disconnected session should stay alive for (to allow reconnect) |
6055a0164d63
mod_smacks/README: Add s2s-smacks and num unacked stanzas options to table
Kim Alvefur <zash@zash.se>
parents:
2047
diff
changeset
|
40 |
`smacks_enabled_s2s` false Enable Stream Management on server connections? *Experimental* |
6055a0164d63
mod_smacks/README: Add s2s-smacks and num unacked stanzas options to table
Kim Alvefur <zash@zash.se>
parents:
2047
diff
changeset
|
41 |
`smacks_max_unacked_stanzas` 0 How many stanzas to send before requesting acknowledgement |
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
42 |
|
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
43 |
Compatibility |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
44 |
============= |
1786 | 45 |
|
1880
9c9397d692aa
mod_smacks/README: Update link to 0.8 version
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
46 |
----- ----------------------------------- |
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
47 |
0.9 Works |
1880
9c9397d692aa
mod_smacks/README: Update link to 0.8 version
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
48 |
0.8 Works, use version [7693724881b3] |
9c9397d692aa
mod_smacks/README: Update link to 0.8 version
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
49 |
----- ----------------------------------- |
9c9397d692aa
mod_smacks/README: Update link to 0.8 version
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
50 |
|
1786 | 51 |
|
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
52 |
Clients |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
53 |
======= |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
54 |
|
1786 | 55 |
Clients that support XEP-0198: |
56 |
||
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
57 |
- Gajim |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
58 |
- Swift (but not resumption, as of version 2.0 and alphas of 3.0) |
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
59 |
- Psi (in an unreleased branch) |
2047
4ad3f25ab004
mod_smacks: README: Add Conversations to list of supported clients
Matthew Wild <mwild1@gmail.com>
parents:
1880
diff
changeset
|
60 |
- Conversations |
1807
4d73a1a6ba68
Convert all wiki pages to Markdown
Kim Alvefur <zash@zash.se>
parents:
1786
diff
changeset
|
61 |
- Yaxim |
1880
9c9397d692aa
mod_smacks/README: Update link to 0.8 version
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
62 |
|
9c9397d692aa
mod_smacks/README: Update link to 0.8 version
Kim Alvefur <zash@zash.se>
parents:
1807
diff
changeset
|
63 |
[7693724881b3]: //hg.prosody.im/prosody-modules/raw-file/7693724881b3/mod_smacks/mod_smacks.lua |