doc/session.txt

Thu, 23 Oct 2008 02:19:26 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Thu, 23 Oct 2008 02:19:26 +0500
changeset 116
72e698cdabd7
parent 115
db048883a522
child 199
eccf66b42bd7
permissions
-rw-r--r--

Updated and fixed session documentation


Structure of a session:


session {
	-- properties --
	conn -- the tcp connection
	notopen -- true if stream has not been initiated, removed after receiving <stream:steam>
	type -- the connection type. Valid values include:
			-- "c2s_unauthed" - connection has not been authenticated yet
			-- "c2s" - from a local client to the server
	username -- the node part of the client's jid (not defined before auth)
	host -- the host part of the client's jid (not defined before stream initiation)
	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"

mercurial