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(+) (limited to 'lib/diameter/doc/src/diameter.xml') 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