mod_presence_cache/README.markdown
author Kim Alvefur <zash@zash.se>
Thu, 10 Dec 2015 17:13:12 +0100
changeset 1963 65beed3ac500
parent 1956 9d0c33ebbcc5
child 2150 39d958f4a0c3
permissions -rw-r--r--
mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1956
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
---
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
summary: Cache presence incoming presence
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
...
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
Introduction
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
============
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
This module stores presence from users contact even when they are
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
offline, so that the client can see who is online faster when they sign
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
in, and won't have to wait for remote servers to reply.
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
Note that in its current form, the number of presence stanzas sent to a
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
client is doubled, as the client would get both the cached stanzas and
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
replies to presence probes. Also see [mod\_throttle\_presence].
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
By default, only binary (online or offline) state is stored. It can
1963
65beed3ac500 mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Kim Alvefur <zash@zash.se>
parents: 1956
diff changeset
    17
optionally store the full presence but this requires much more memory
65beed3ac500 mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Kim Alvefur <zash@zash.se>
parents: 1956
diff changeset
    18
and bandwidth.
1956
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
Configuration
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
=============
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
Just enable the module.
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    24
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    25
    modules_enabled = {
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    26
        -- more modules
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
        "presence_cache";
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    28
    }
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    29
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    30
Advanced configuration
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    31
======================
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    32
1963
65beed3ac500 mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Kim Alvefur <zash@zash.se>
parents: 1956
diff changeset
    33
To enable *experimental* full stanza caching:
1956
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    34
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    35
    presence_cache_full = false
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    36
1963
65beed3ac500 mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Kim Alvefur <zash@zash.se>
parents: 1956
diff changeset
    37
This will usually double the presence data sent to clients, pending
65beed3ac500 mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Kim Alvefur <zash@zash.se>
parents: 1956
diff changeset
    38
support for deduplication.
65beed3ac500 mod_presence_cache/README: Try to discourage full stanza caching since it is experimental
Kim Alvefur <zash@zash.se>
parents: 1956
diff changeset
    39
1956
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    40
TODO
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    41
====
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    42
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    43
-   Deduplication, i.e don's send stanzas that are identical to the last
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    44
    seen.
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    45
-   Cache invalidation or expiry, eg if a remote server goes down or is
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    46
    gone a long time.
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    47
-   Sending probes at some interval to keep the cache reasonably fresh.
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    48
9d0c33ebbcc5 mod_presence_cache: Cache incoming presence broadcasts in order to get clients up to speed with who is online faster
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    49