Library load
The core components of a Jabber server providing IM services are connected using the library load method. This simply means that the component sources are compiled into shared object (.so) libraries and loaded into the main Jabber process (jabberd).
The components are written specially with the Jabber backbone in mind and contain standard component registration routines that utilize functions in the core Jabber libraries. These routines are used to bind the component relationship with jabberd (for example, there is a “heartbeat” mechanism through which the components are monitored) and to specify packet receipt requirements.
Note
Components receive packets based upon their
type (log, xdb, or service) and upon a
<host/>
configuration specification that we’ll see later in this chapter and can also
specify when in the delivery sequence they are to receive the packets
The library load method, which is also sometimes
known as dynamic load, is represented in the
configuration by the
<load/> tag, which wraps
the library (or libraries) that should be loaded.
Example 4-4 and
Example 4-5 show how components can be plugged into the standard
jabber.xml file using the library load.
Example 4-4
shows the Client (to Server) Connections (c2s)
component, which has been written and compiled as an .so
library, being connected using the library load method.
<load> <pthsock_client>./pthsock/pthsock_client.so</pthsock_client> ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access