| 1 | This file documents the structure of the roster object. |
| 2 | |
| 3 | table roster { |
| 4 | [string bare_jid] = roster_item |
| 5 | } |
| 6 | |
| 7 | table roster_item { |
| 8 | string subscription = "none" | "to" | "from" | "both" |
| 9 | string name = Opaque string set by client. (optional) |
| 10 | set groups = a set of opaque strings set by the client |
| 11 | boolean ask = nil | "subscribe" - a value of true indicates subscription is pending |
| 12 | } |
| 13 | |
| 14 | The roster is available as |
| 15 | hosts[host].sessions[username].roster |
| 16 | and a copy is made to session.roster for all sessions. |
| 17 | |
| 18 | All modifications to a roster should be done through the rostermanager. |