Release commit: move 4.0.2 to release repo
[ric-plt/lib/rmr.git] / doc / src / man / rmr.7.xfm
index ae49977..e372571 100644 (file)
@@ -1,7 +1,7 @@
 .if false
 ==================================================================================
-       Copyright (c) 2019 Nokia
-       Copyright (c) 2018-2019 AT&T Intellectual Property.
+   Copyright (c) 2019 Nokia
+   Copyright (c) 2018-2019 AT&T Intellectual Property.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
 ==================================================================================
 .fi
 .if false
-       Mnemonic        rmr.7.xfm
-       Abstract        The manual page for the whole RMr library
-       Author          E. Scott Daniels
-       Date            29 January 2019
+    Mnemonic    rmr.7.xfm
+    Abstract    The manual page for the whole RMR library
+    Author      E. Scott Daniels
+    Date        29 January 2019
 .fi
 
 .gv e LIB lib
 
 &line_len(6i)
 
-&h1(RMr Library)
+&h1(RMR Library)
 &h2(NAME)
-       RMr -- Ric Message Router Library
+    RMR -- Ric Message Router Library
 
 &h2(DESCRIPTION)
-RMr is a library which provides  a user application with the ability
-to send and receive messages to/from  other RMr based applications
-without having to understand the underlying messaging transport environment (e.g. Nanomsg)
+RMR is a library which provides  a user application with the ability
+to send and receive messages to/from  other RMR based applications
+without having to understand the underlying messaging transport environment (e.g., SI95)
 and without needing to know which other endpoint applications are currently
 available and accepting messages.
-To do this, RMr depends on a routing table generated by an external source.
+To do this, RMR depends on a routing table generated by an external source.
 This table is used to determine the destination endpoint of each message sent by mapping the
 message type T (supplied by the user application) to an endpoint entry.
 Once determined, the message is sent directly to the endpoint.
@@ -47,7 +47,7 @@ message, and in some cases whether that message was sent to multiple
 applications.
 
 &space
-RMr functions do provide for the ability to respond to the specific source
+RMR functions do provide for the ability to respond to the specific source
 instance of a message allowing for either a request response, or call
 response relationship when needed.
 
@@ -64,7 +64,7 @@ logger1.
 It is the responsibility of the route table generator to know which endpoints
 belong to which groups, and which groups accept which message types.
 Once understood, the route table generator publishes a table that is ingested
-by RMr and used for mapping messages to end points.
+by RMR and used for mapping messages to end points.
 
 .sp
 The following is a simple route table which causes message types 0 through 9 to
@@ -94,28 +94,28 @@ and by supplying a "table" such as the one below:
 &ex_start
 meid_map | start
    mme_ar | control1 | meid000 meid001 meid002 meid003 meid004 meid005
-   mme_ar | control2 | meid100 meid101 meid102 meid103 
+   mme_ar | control2 | meid100 meid101 meid102 meid103
 meid_map | end | 2
 &ex_end
 
 This table indicates that the application (endpoint) &ital(control1) "owns" 6 MEIDs
-and &ital(control2) owns 4.  
-When message type 0 is sent, the MEID in the message will be used to select the 
-endpoint via this table. 
+and &ital(control2) owns 4.
+When message type 0 is sent, the MEID in the message will be used to select the
+endpoint via this table.
 
 &space
 The MEID table will update the existing owner relationships, and add new ones; it
 is necessary to send only the changes with the add/replace (mme_ar) entries in
-the table. 
+the table.
 When necessary, MEIDs can be deleted by adding an &cw(mme_del) record to the table.
 The following example illustrates how this might look:
 
 &ex_start
 meid_map | start
    mme_ar | control1 | meid000 meid001 meid002 meid003 meid004 meid005
-   mme_ar | control2 | meid100 meid101 meid102 meid103 
+   mme_ar | control2 | meid100 meid101 meid102 meid103
    mme_del| meid200 meid401
-meid_map | end | 1
+meid_map | end | 3
 &ex_end
 
 &h3(Route Table Syntax)
@@ -129,15 +129,15 @@ newrt | end
 &ex_end
 &space
 A round robin group is one or more endpoints from which one will be selected to receive
-the message. 
+the message.
 When multiple endpoints are given in a group, they must be separated with a comma.
 An endpoint is the IP address and port (e.g. 192.158.4.30:8219) or DNS name and port of the
 application that should receive the message type.
-If multiple round-robin groups are given, they must be separated by a semicolon, and 
+If multiple round-robin groups are given, they must be separated by a semicolon, and
 
 &h3(MEID Map Syntax)
-The MEID map is similar to the route table. 
-Entries are used to add or replace the ownership of one or more MEIDs (mme_ar) or to 
+The MEID map is similar to the route table.
+Entries are used to add or replace the ownership of one or more MEIDs (mme_ar) or to
 delete one or more MEIDs (mme_del).
 The following is the syntax for the MEID map.
 
@@ -146,7 +146,7 @@ The following is the syntax for the MEID map.
 meid_map | start
 mme_ar | <owner-endpoint> | <meid> [<meid>...]
 mme_del | <meid> [<meid>...]
-meid_map | end | <count>
+meid_map | end | <count> [| <md5sum>
 &ex_end
 
 &space
@@ -158,13 +158,19 @@ A MEID may be "owned" by only one endpoint, and if supplied multiple times, the
 observed relationship is used.
 Each of the lists of MEIDs are blank separated.
 
+&space
+The optional <md5sum> on the &ital(end) record should be the computed MD5 hash for all
+records which appear between the start and and records.
+This allows for a tighter verification that all data was received exactly as the
+route manager transmitted them.
+
 
 &h3(Environment)
 To enable configuration of the library behaviour outside of direct user application
-control, RMr supports a number of environment variables which provide information
+control, RMR supports a number of environment variables which provide information
 to the library.
 The following is a list of the various environment variables, what they control
-and the defaults which RMr uses if undefined.
+and the defaults which RMR uses if undefined.
 
 &space
 .** the list of environment vars supported