Roster updates
[prosody.git] / doc / session.txt
1 \r
2 Structure of a session:\r
3 \r
4 \r
5 session {\r
6         -- properties --\r
7         conn -- the tcp connection\r
8         notopen -- true if stream has not been initiated, removed after receiving <stream:steam>\r
9         type -- the connection type. Valid values include:\r
10                         -- "c2s_unauthed" - connection has not been authenticated yet\r
11                         -- "c2s" - from a local client to the server\r
12         username -- the node part of the client's jid (not defined before auth)\r
13         host -- the host part of the client's jid (not defined before stream initiation)\r
14         resource -- the resource part of the client's full jid (not defined before resource binding)\r
15         full_jid -- convenience for the above 3 as string in username@host/resource form (not defined before resource binding)\r
16         priority -- the resource priority, default: 0 (not defined before initial presence)\r
17         presence -- the last non-directed presence. initially nil.\r
18         interested -- true if the resource requested the roster. Interested resources recieve roster updates. Initially nil.\r
19         roster -- the user's roster. Loaded as soon as the resource is bound (session becomes a connected resource).\r
20         \r
21         -- methods --\r
22         send(x) -- converts x to a string, and writes it to the connection\r
23         disconnect(x) -- Disconnect the user and clean up the session, best call sessionmanager.destroy_session() instead of this in most cases\r
24 }\r
25 \r
26 if session.full_jid (also session.roster and session.resource) then this is a "connected resource"\r
27 if session.presence then this is an "available resource"\r
28 if session.interested then this is an "interested resource"\r