annotate mod_smacks.wiki @ 171:c9bd647b287d

Created wiki page through web user interface.
author MWild1
date Fri, 25 Mar 2011 15:38:20 +0000
parents
children 5bbdbce10b0a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
171
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
1 #summary XEP-0198: Reliability and fast reconnects for XMPP
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
2 #labels Stage-Beta
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
3
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
4 = Introduction =
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
5
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
6 By default XMPP is as reliable as your network is. Unfortunately in some cases that is not very reliable - in some network conditions disconnects can be frequent and message loss can occur.
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
7
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
8 To overcome this, XMPP has an optional extension (XEP-0198: Stream Management) which, when supported by both the client and server, can allow a client to resume a disconnected session, and prevent message loss.
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
9
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
10 = Details =
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
11
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
12 When using XEP-0198 both the client and the server keep a queue of the most recently sent stanzas - this is cleared when the other end acknowledges they have received the stanzas. If the client disconnects, instead of marking the user offline the server pretends the client is still online for a short (configurable) period of time. If the client reconnects within this period, any stanzas in the queue that the client did not receive are re-sent.
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
13
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
14 If the client fails to reconnect before the timeout then it is marked offline as normal, and any stanzas in the queue are returned to the sender as a "recipient-unavailable" error.
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
15
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
16 = Configuration =
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
17
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
18 || *Option* || *Default* || *Description* ||
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
19 || smacks_hibernation_time || 300 (5 minutes) || The number of seconds a disconnected session should stay alive for (to allow reconnect) ||
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
20
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
21 = Compatibility =
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
22 ||0.8||Works||
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
23
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
24 = TODO =
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
25 * Doesn't work very well with multiple virtual hosts yet (just a plugin implementation detail).
c9bd647b287d Created wiki page through web user interface.
MWild1
parents:
diff changeset
26 * Related to the above issue - reload/unload of this module may not work very well.