mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-11-25 23:00:21 +01:00
2018-03-11 Fred Gleason <fredg@paravelsystems.com>
* Converted ripcd(8) to use RDApplication. * Documented a 'Notification' message type in 'docs/apis/notification.xml'. * Added an 'RDMulticaster' class. * Added an 'mcast_recv_test' program in 'tests/'. * Added a 'SYSTEM.NOTIFICATION_ADDRESS' field to the database. * Incremented the database version to 276. * Added an 'Mcast Address for Notifications' control to the 'System-Wide Settings' dialog in rdadmin(1). * Implemented the 'Process Notification' ['ON'] command in ripcd(8). * Added an 'RDRipc::sendNotification()' method. * Added an 'RDRipc::notificationReceived()' signal.
This commit is contained in:
@@ -35,6 +35,8 @@ all-local: cae.html\
|
||||
cae.pdf\
|
||||
catchd.html\
|
||||
catchd.pdf\
|
||||
notification.html\
|
||||
notification.pdf\
|
||||
ripc.html\
|
||||
ripc.pdf\
|
||||
web_api.html\
|
||||
@@ -46,6 +48,9 @@ EXTRA_DIST = cae.html\
|
||||
catchd.html\
|
||||
catchd.pdf\
|
||||
catchd.xml\
|
||||
notifcation.html\
|
||||
notifcation.pdf\
|
||||
notifcation.xml\
|
||||
ripc.html\
|
||||
ripc.pdf\
|
||||
ripc.xml\
|
||||
|
||||
133
docs/apis/notification.xml
Normal file
133
docs/apis/notification.xml
Normal file
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
|
||||
<info>
|
||||
<title>Rivendell Notification Protocol</title>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Fred</firstname>
|
||||
<surname>Gleason</surname>
|
||||
<email>fredg@paravelsystems.com</email>
|
||||
</personname>
|
||||
</author>
|
||||
</info>
|
||||
|
||||
<sect1 xml:id="overview">
|
||||
<title>Overview</title>
|
||||
<para>
|
||||
This defines the IP protocol used to notify Rivendell components of
|
||||
changes to the state of database objects. Messages are send by means
|
||||
of multicast UDP packets to port 20539.
|
||||
</para>
|
||||
<para>
|
||||
The format of a message is as follows:
|
||||
</para>
|
||||
<para>
|
||||
NOTIFY <replaceable choice='req'>obj-type</replaceable>
|
||||
<replaceable choice='req'>action</replaceable>
|
||||
<replaceable choice='req'>id</replaceable>
|
||||
[<replaceable choice='opt'>args</replaceable>]
|
||||
</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<replaceable>obj-type</replaceable>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The object type to which the message pertains.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<replaceable>action</replaceable>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The action being reported. The following actions are defined:
|
||||
</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>
|
||||
ADD
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The referenced object has just been added to the database.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
DELETE
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The referenced object has just been deleted from the database.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
MODIFY
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
The reference object has just been modified in the database.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<replaceable>id</replaceable>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Unique id of the object.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<replaceable>args</replaceable>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Zero or more additional arguments. Varies by
|
||||
<replaceable>obj-type</replaceable>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="sect.object_types">
|
||||
<title>Object Types</title>
|
||||
<para>
|
||||
The following object types are defined:
|
||||
</para>
|
||||
<sect2 xml:id="sect.object_types.cart">
|
||||
<title>Carts</title>
|
||||
<para>
|
||||
<userinput>CART</userinput>
|
||||
</para>
|
||||
<table xml:id="table.object_types.carts" frame="all" pgwide="0">
|
||||
<title>Cart Fields</title>
|
||||
<tgroup cols="2" align="left" colsep="1" rowsep="1">
|
||||
<colspec colname="Field" colwidth="2.0*"/>
|
||||
<colspec colname="Value" colwidth="10.0*"/>
|
||||
<tbody>
|
||||
<row><entry>Field</entry><entry>Value</entry></row>
|
||||
<row><entry>obj-type</entry><entry>CART</entry></row>
|
||||
<row><entry>id</entry><entry>Cart number</entry></row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
||||
</article>
|
||||
@@ -608,6 +608,26 @@
|
||||
</variablelist>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="privileged_commands.process_notification">
|
||||
<title>Process Notification</title>
|
||||
<para>
|
||||
Send or Receive an Object Notification
|
||||
</para>
|
||||
<para>
|
||||
<userinput>ON <replaceable>notify</replaceable>!</userinput>
|
||||
</para>
|
||||
<para>
|
||||
Send the <replaceable>notify</replaceable> to all other active
|
||||
Rivendell modules.
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
See the Rivendell Notification Protocol API document for a description
|
||||
of the contents of <replaceable>notify</replaceable>.
|
||||
</para>
|
||||
</note>
|
||||
</sect2>
|
||||
|
||||
</sect1>
|
||||
|
||||
</article>
|
||||
|
||||
Reference in New Issue
Block a user