Module: sip-router
Branch: mariusbucur/dmq
Commit: ba56288aad0f8dd50e60c2fb411b305aef198fb4
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=ba56288…
Author: unknown <mariusb@.(none)>
Committer: unknown <mariusb@.(none)>
Date: Sat Aug 13 19:02:31 2011 -0700
Added documentation to the DMQ module
---
modules_k/dmq/doc/Makefile | 4 ++
modules_k/dmq/doc/dmq.xml | 44 +++++++++++++++++
modules_k/dmq/doc/dmq_admin.xml | 103 +++++++++++++++++++++++++++++++++++++++
modules_k/dmq/doc/dmq_devel.xml | 45 +++++++++++++++++
4 files changed, 196 insertions(+), 0 deletions(-)
diff --git a/modules_k/dmq/doc/Makefile b/modules_k/dmq/doc/Makefile
new file mode 100644
index 0000000..d50daab
--- /dev/null
+++ b/modules_k/dmq/doc/Makefile
@@ -0,0 +1,4 @@
+docs = dmq.xml
+
+docbook_dir = ../../../docbook
+include $(docbook_dir)/Makefile.module
diff --git a/modules_k/dmq/doc/dmq.xml b/modules_k/dmq/doc/dmq.xml
new file mode 100644
index 0000000..7d9620a
--- /dev/null
+++ b/modules_k/dmq/doc/dmq.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+
+<!-- Include general documentation entities -->
+<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
+%docentities;
+
+]>
+
+<book
xmlns:xi="http://www.w3.org/2001/XInclude">
+ <bookinfo>
+ <title>Distributed Message Queue Module</title>
+ <productname class="trade">&kamailioname;</productname>
+ <authorgroup>
+ <author>
+ <firstname>Marius Ovidiu</firstname>
+ <surname>Bucur</surname>
+ <address>
+ <email>bucur_marius_ovidiu(a)yahoo.com</email>
+ </address>
+ </author>
+ <editor>
+ <firstname>Marius Ovidiu</firstname>
+ <surname>Bucur</surname>
+ <address>
+ <email>bucur_marius_ovidiu(a)yahoo.com</email>
+ </address>
+ </editor>
+ </authorgroup>
+ <copyright>
+ <year>2011</year>
+ <holder>Marius Bucur</holder>
+ </copyright>
+ </bookinfo>
+ <toc></toc>
+
+ <xi:include href="dmq_admin.xml"/>
+ <xi:include href="dmq_devel.xml"/>
+
+</book>
+
+
diff --git a/modules_k/dmq/doc/dmq_admin.xml b/modules_k/dmq/doc/dmq_admin.xml
new file mode 100644
index 0000000..9692d4f
--- /dev/null
+++ b/modules_k/dmq/doc/dmq_admin.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+<!-- Include general documentation entities -->
+<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
+%docentities;
+
+]>
+<!-- Module User's Guide -->
+
+<chapter>
+ <title>&adminguide;</title>
+
+ <section>
+ <title>Overview</title>
+ <para> The DMQ module implements a distributed message passing system on top of
Kamailio.
+ The DMQ nodes within the system are grouped in a logical entity called DMQ bus and are
able to
+ communicate with each others by sending/receiving messages (either by broadcast or
sending a DMQ
+ message to a specific node).
+ The system transparently deals with node discovery, node consistency within the DMQ bus,
retransmissions,
+ etc.
+ </para>
+
+ </section>
+
+ <section>
+ <title>Dependencies</title>
+ <section>
+ <title>&kamailio; Modules</title>
+ <para>
+ The following modules must be loaded before this module:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>sl</emphasis>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>tm</emphasis>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
+ <section>
+ <title>External Libraries or Applications</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>
+ Each peer needs to use its own serialization mechanism.
+ Some examples are libtpl, protobuf.
+ </emphasis>.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <title>Exported Parameters</title>
+ <section>
+ <title><varname>dmq_server_address</varname>(str)</title>
+ <para>
+ The local server address.
+ </para>
+ <para>
+ The modules needs it to know on which interface the DMQ engine should send and receive
messages.
+ </para>
+ <para>
+ <emphasis>Default value is <quote>NULL</quote>.
+ </emphasis>
+ </para>
+ <example>
+ <title>Set <varname>dmq_server_address</varname>
parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("dmq", "dmq_server_address", "&defaultdb;")
+...
+</programlisting>
+ </example>
+ </section>
+ <section>
+ <title><varname>dmq_notification_address</varname>(str)</title>
+ <para>
+ The address of the DMQ node from which the local node should retrieve initial
information.
+ </para>
+ <para>
+ <emphasis> Default value is <quote>NULL</quote>.
+ </emphasis>
+ </para>
+ <example>
+ <title>Set <varname>dmq_notification_address</varname>
parameter</title>
+ <programlisting format="linespecific">
+...
+modparam("dmq", "dmq_notification_address",
"&defaultdb;")
+...
+</programlisting>
+ </example>
+ </section>
+</chapter>
+
diff --git a/modules_k/dmq/doc/dmq_devel.xml b/modules_k/dmq/doc/dmq_devel.xml
new file mode 100644
index 0000000..afa561b
--- /dev/null
+++ b/modules_k/dmq/doc/dmq_devel.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+<!-- Include general documentation entities -->
+<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
+%docentities;
+
+]>
+<!-- Module Developer's Guide -->
+
+<chapter>
+ <title>&develguide;</title>
+ <para>
+ The module provides the following functions that can be used
+ in other &kamailio; modules.
+ </para>
+ <section>
+ <title>
+ <function moreinfo="none">dmq_load_api(dmq_api_t*
api)</function>
+ </title>
+ <para>
+ This function binds the dmq modules and fills the structure
+ with the exported functions
+ -> register_dmq_peer - registers an entity as a DMQ peer which permits
receiving/sending
+ messages between nodes which support the same peer,
+ -> bcast_message - broadcast a DMQ message to all peers available in the DMQ bus,
+ -> send_message - sends a DMQ message to a specific peer in the local DMQ bus.
+ </para>
+ <example>
+ <title><function>dmq_api_t</function> structure</title>
+ <programlisting format="linespecific">
+...
+typedef struct dmq_api {
+ register_dmq_peer_t register_dmq_peer;
+ bcast_message_t bcast_message;
+ send_message_t send_message;
+} dmq_api_t;
+...
+</programlisting>
+ </example>
+
+ </section>
+</chapter>
+