Some docs written by Thorns. Need reviewing.
[prosody.git] / doc / lxmppd_core_stanz_dispatch.txt
diff --git a/doc/lxmppd_core_stanz_dispatch.txt b/doc/lxmppd_core_stanz_dispatch.txt
new file mode 100644 (file)
index 0000000..c76844e
--- /dev/null
@@ -0,0 +1,26 @@
+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