diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/roster_format.txt | 18 | ||||
-rw-r--r-- | doc/session.txt | 7 |
2 files changed, 25 insertions, 0 deletions
diff --git a/doc/roster_format.txt b/doc/roster_format.txt new file mode 100644 index 00000000..9094b5a1 --- /dev/null +++ b/doc/roster_format.txt @@ -0,0 +1,18 @@ +
+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
+}
+
+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.
diff --git a/doc/session.txt b/doc/session.txt index 82fe5ce4..e475e45b 100644 --- a/doc/session.txt +++ b/doc/session.txt @@ -14,8 +14,15 @@ session { resource -- the resource part of the client's full jid (not defined before resource binding)
full_jid -- convenience for the above 3 as string in username@host/resource form (not defined before resource binding)
priority -- the resource priority, default: 0 (not defined before initial presence)
+ presence -- the last non-directed presence. initially nil.
+ interested -- true if the resource requested the roster. Interested resources recieve roster updates. Initially nil.
+ roster -- the user's roster. Loaded as soon as the resource is bound (session becomes a connected resource).
-- methods --
send(x) -- converts x to a string, and writes it to the connection
disconnect(x) -- Disconnect the user and clean up the session, best call sessionmanager.destroy_session() instead of this in most cases
}
+
+if session.full_jid (also session.roster and session.resource) then this is a "connected resource"
+if session.presence then this is an "available resource"
+if session.interested then this is an "interested resource"
|