From 2ba65b0d81b6a047bed3babf5371e500c1a72541 Mon Sep 17 00:00:00 2001
From: Anders Svensson
Date: Fri, 5 Oct 2012 03:09:07 +0200
Subject: Document sequence masks
Allow 32-bit Hop-by-Hop and End-to-End identifiers to be modified by
replacing the topmost bits with a constant value. This allow services on
different nodes to generate globally unique identifiers by having each
node mask in its own constant.
---
lib/diameter/doc/src/diameter.xml | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/lib/diameter/doc/src/diameter.xml b/lib/diameter/doc/src/diameter.xml
index b8652a7482..161fd94d5a 100644
--- a/lib/diameter/doc/src/diameter.xml
+++ b/lib/diameter/doc/src/diameter.xml
@@ -699,6 +699,35 @@ the application's dictionary
file.
+{sequence, {H,N} | diameter:evaluable()}
+-
+
+Specifies a constant value H for the topmost 32-N bits of
+of 32-bit End-to-End and Hop-by-Hop identifiers generated
+by the service, either explicity or as a return value of a function
+to be evaluated at diameter:start_service/2.
+In particular, an identifier Id is mapped to a new identifier
+as follows.
+
+(H bsl N) bor (Id band ((1 bsl N) - 1))
+
+
+Note that RFC 3588 requires that End-to-End identifiers remain unique
+for a period of at least 4 minutes and that this and the call rate
+places a lower bound on the appropriate values of N:
+at a rate of R requests per second an N-bit counter
+traverses all of its values in (1 bsl N) div (R*60) minutes so
+the bound is 4*R*60 =< 1 bsl N.
+
+N must lie in the range 0..32 and H must be a
+non-negative integer less than 1 bsl (32-N).
+
+
+Defaults to {0,32}.
+
+
--
cgit v1.2.3