jabberd Directory Reference

Containing the base executable (the jabberd binary) implementing an XML router and helpers. More...


Directories

directory  base
 Contains the base handlers of jabberd14.
directory  lib
 Contains basic functionality, that is needed to form the server and its components.

Files

file  acl.cc
 Functions that check access of users to restricted functionality of the server.
file  config.cc
 handle the configuration file
file  deliver.cc
 implements the XML stanza routing of jabberd
file  gcrypt_init.c
 Init the gcrypt library.
file  heartbeat.cc
 functions used to register other functions to be called regularily
file  instance_base.cc
 OOP interface of jabberd14 for components.
file  jabberd.cc
 Where all begins ... this file contains the main function, shutdown routines and signal handlers.
file  jabberd.h [code]
file  log.cc
 functions used to generate log messages, and logging of debug messages
file  mio.cc
 MIO -- Managed Input/Output.
file  mio_raw.cc
 MIO read/write functions to read/write on unencrypted network sockets.
file  mio_tls.cc
 MIO read/write functions to read/write on TLS encrypted sockets and handling for TLS in general (using the GNU TLS implementation).
file  mio_xml.cc
 handling of XML streams on network connections
file  mtq.cc
 mtq is Managed Thread Queues - threads that do asyncronous jobs inside jabberd14
file  subjectAltName_asn1_tab.c
 data needed to access ASN.1 structures contained in X.509 certificates
file  xdb.cc
 implement the interface to the XML database access

Detailed Description

Containing the base executable (the jabberd binary) implementing an XML router and helpers.

In this directory you find the implementation of the jabberd executable, which is just something, that is able to route XML fragments between the base handlers (they are implemented in files in the directory jabberd/base.) The base handlers (which are a part of the jabberd binary) are then able to connect targets and sources to this XML routing. The most known base handler might be the handler for the <load/> target in the configuration file. This handler loads a shared object file containing a component and connects this component to the XML routing. Other important base handlers are the handlers implemented in base_accept.cc and base_connect.cc, which implement the <accept/> and <connect/> targets used to connect two (or more) instances of jabberd running to build a single server.

In addition to the XML routing, you find the implementation of the managed threads (mtq.cc), a scedular to invoke regularly tasks (heartbeat.cc), logging services (log.cc), the handling of the configuration file (config.cc), the handling of network sockets (mio.cc, mio_raw.cc, mio_tls.cc, mio_xml.cc), the XML database interface (xdb.cc), and access control lists (acl.cc).

The XML routing itself is implemented in the file deliver.cc. Routines used for the startup of the server can be found in jabberd.cc.

The jabberd executable also contains a library of functions used either by the base executable itself or that are of general use for components (which are implemented as loadable objects). This jabberd library is implemented in jabberd/lib.


Generated on Wed Apr 2 03:30:10 2008 for jabberd14 by  doxygen 1.5.3