doc/session.txt
author Matthew Wild <mwild1@gmail.com>
Mon, 20 Feb 2023 18:10:15 +0000
branch0.12
changeset 12898 0598d822614f
parent 8731 41c959c5c84b
permissions -rw-r--r--
mod_websocket: Fire pre-session-close event (fixes #1800) This event was added in a7c183bb4e64 and is required to make mod_smacks know that a session was intentionally closed and shouldn't be hibernated (see fcea4d9e7502). Because this was missing from mod_websocket's session.close(), mod_smacks would always attempt to hibernate websocket sessions even if they closed cleanly. That mod_websocket has its own copy of session.close() is something to fix another day (probably not in the stable branch). So for now this commit makes the minimal change to get things working again. Thanks to Damian and the Jitsi team for reporting.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     1
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     2
Structure of a session:
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     3
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     4
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     5
session {
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     6
	-- properties --
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     7
	conn -- the tcp connection
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     8
	notopen -- true if stream has not been initiated, removed after receiving <stream:steam>
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
     9
	type -- the connection type. Valid values include:
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    10
			-- "c2s_unauthed" - connection has not been authenticated yet
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    11
			-- "c2s" - from a local client to the server
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    12
	username -- the node part of the client's jid (not defined before auth)
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    13
	host -- the host part of the client's jid (not defined before stream initiation)
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    14
	resource -- the resource part of the client's full jid (not defined before resource binding)
61
Matthew Wild <mwild1@gmail.com>
parents: 55
diff changeset
    15
	full_jid -- convenience for the above 3 as string in username@host/resource form (not defined before resource binding)
199
eccf66b42bd7 Added resource priority handling, etc
Waqas Hussain <waqas20@gmail.com>
parents: 116
diff changeset
    16
	priority -- the resource priority, default: 0
eccf66b42bd7 Added resource priority handling, etc
Waqas Hussain <waqas20@gmail.com>
parents: 116
diff changeset
    17
	presence -- the last non-directed presence with no type attribute. initially nil. reset to nil on unavailable presence.
8731
41c959c5c84b Fix spelling throughout the codebase [codespell]
Kim Alvefur <zash@zash.se>
parents: 7538
diff changeset
    18
	interested -- true if the resource requested the roster. Interested resources receive roster updates. Initially nil.
116
72e698cdabd7 Updated and fixed session documentation
Waqas Hussain <waqas20@gmail.com>
parents: 115
diff changeset
    19
	roster -- the user's roster. Loaded as soon as the resource is bound (session becomes a connected resource).
55
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    20
	
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    21
	-- methods --
4edb942e9dff Some notes of the stanza and session structures
Waqas Hussain <waqas20@gmail.com>
parents:
diff changeset
    22
	send(x) -- converts x to a string, and writes it to the connection
7538
4a3a3098d9bb doc/session: As far as I remember, sessions have had a close method, not disconnect
Kim Alvefur <zash@zash.se>
parents: 199
diff changeset
    23
	close(x) -- Disconnect the user and clean up the session, best call sessionmanager.destroy_session() instead of this in most cases
61
Matthew Wild <mwild1@gmail.com>
parents: 55
diff changeset
    24
}
115
db048883a522 Updated session documentation
Waqas Hussain <waqas20@gmail.com>
parents: 61
diff changeset
    25
116
72e698cdabd7 Updated and fixed session documentation
Waqas Hussain <waqas20@gmail.com>
parents: 115
diff changeset
    26
if session.full_jid (also session.roster and session.resource) then this is a "connected resource"
199
eccf66b42bd7 Added resource priority handling, etc
Waqas Hussain <waqas20@gmail.com>
parents: 116
diff changeset
    27
if session.presence then this is an "available resource" (all available resources are connected resources)
eccf66b42bd7 Added resource priority handling, etc
Waqas Hussain <waqas20@gmail.com>
parents: 116
diff changeset
    28
if session.interested then this is an "interested resource" (all interested resources are connected resources)