File

doc/roster_format.txt @ 12515:76c1725f4467

net.server_epoll: Add option to defer accept() until data available This is a Linux(?) socket option that delays the accept signal until there is data available to read. E.g. with HTTP this might mean that a whole request can be handled without going back trough another turn of the main loop, and an initial client <stream> can be responded to. This may have effects on latency and resource use, as the server does not need to allocate resources until really needed.
author Kim Alvefur <zash@zash.se>
date Sun, 15 May 2022 22:41:17 +0200
parent 132:9a4aa57af367
line wrap: on
line source


This file documents the structure of the roster object.

table roster {
  [string bare_jid] = roster_item
}

table roster_item {
  string subscription = "none" | "to" | "from" | "both"
  string name = Opaque string set by client. (optional)
  set groups = a set of opaque strings set by the client
  boolean ask = nil | "subscribe" - a value of true indicates subscription is pending
}

The roster is available as
 hosts[host].sessions[username].roster
and a copy is made to session.roster for all sessions.

All modifications to a roster should be done through the rostermanager.