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 | |
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.
1.5.3