File

doc/session.txt @ 8706:e2919978673e

net.http: Fix parameter order to http request callbacks Commit e3b9dc9dd940 changed the parameter order in 2013, but did not update the names of the parameters in the callback function. Due to this inconsistency, 12df41a5a4b1 accidentally reversed the order when fixing the variable names without fixing where they are used. Additionally the documentation was incorrect (since 2013), and this has also now been fixed.
author Matthew Wild <mwild1@gmail.com>
date Wed, 04 Apr 2018 18:27:44 +0100
parent 199:eccf66b42bd7
child 7535:4a3a3098d9bb
line wrap: on
line source


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
	presence -- the last non-directed presence with no type attribute. initially nil. reset to nil on unavailable presence.
	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" (all available resources are connected resources)
if session.interested then this is an "interested resource" (all interested resources are connected resources)