Annotate

doc/roster_format.txt @ 10036:045209b41b3a 0.11

mod_pep: Handle presence based subscription outside of util.pubsub (fixes #1372) Subscriptions were updated for each incoming presence stanza from contacts. Each subscription change triggered a configuration save, which would filter out the presence based subscriptions and usually end up replacing the existing data with identical data. With many subscribed nodes this adds up to a fair bit of IO bound work that is avoided by keeping them separate.
author Kim Alvefur <zash@zash.se>
date Thu, 30 May 2019 15:16:56 +0200
parent 132:9a4aa57af367
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
100
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
1
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
2 This file documents the structure of the roster object.
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
3
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
4 table roster {
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
5 [string bare_jid] = roster_item
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
6 }
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
7
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
8 table roster_item {
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
9 string subscription = "none" | "to" | "from" | "both"
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
10 string name = Opaque string set by client. (optional)
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
11 set groups = a set of opaque strings set by the client
132
9a4aa57af367 Roster updates
Waqas Hussain <waqas20@gmail.com>
parents: 131
diff changeset
12 boolean ask = nil | "subscribe" - a value of true indicates subscription is pending
100
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
13 }
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
14
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
15 The roster is available as
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
16 hosts[host].sessions[username].roster
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
17 and a copy is made to session.roster for all sessions.
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
18
ca7bad346cde Documented the roster object's structure
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
19 All modifications to a roster should be done through the rostermanager.