doc/lxmppd_core_stanz_dispatch.txt

Wed, 11 Feb 2009 23:16:14 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Wed, 11 Feb 2009 23:16:14 +0500
changeset 783
defb0119f80f
parent 75
338e75cba18d
permissions
-rw-r--r--

Stanza router: Message to bare JID fixes
- headline messages get sent to all non-negative priority available resource
- all other messages get sent to the set of highest non-negative priority available resources
- only messages of type chat and normal or missing type go into offline storage

lxmppd -> core -> stanza_dispatch
	requires	"util.stanza"
	requires	"core.usermanager"
	
function init_stanza_dispatcher(session)
	Initialises the stanza dispatcher which handles different stanza according
	to their type and XML namespace, dispatching to required handlers.
	
	iq_handlers["jabber:iq:auth"]
		A list of handlers for "jabber:iq:auth" stanzas -- authentication
		(request) stanzas.
		
		function (stanza)
			If one of username, password and resource are missing then it ????.
			If not, then it validates the credentials and replies with the
			appropriate stanza.
			
	iq_handlers["jabber:iq:roster"]
		A list of handlers for "jabber:iq:roster" stanzas -- roster management
		
		function (stanza)
			Parses the type of stanza for roster management and does what is
			requested (roster retrieval, etc.)
	
	function (stanza)
		Validates the stanza and calls the required handler

mercurial