diff options
author | Anders Svensson <[email protected]> | 2012-11-08 12:55:44 +0100 |
---|---|---|
committer | Anders Svensson <[email protected]> | 2012-11-08 12:55:44 +0100 |
commit | 1262a7cadb69ee503bb5c2586038059b00595c99 (patch) | |
tree | a62327809e844a7a9d08f20a7d1f51754bb6b8b0 /lib/diameter/src/base/diameter_session.erl | |
parent | acdfec8baf27093b59cd25ffbc84e6165f9bb427 (diff) | |
parent | bcc2e7751b014d4fc9d45c4a138278cbd00cc222 (diff) | |
download | otp-1262a7cadb69ee503bb5c2586038059b00595c99.tar.gz otp-1262a7cadb69ee503bb5c2586038059b00595c99.tar.bz2 otp-1262a7cadb69ee503bb5c2586038059b00595c99.zip |
Merge branch 'anders/diameter/sequence_masks/OTP-10445' into maint
* anders/diameter/sequence_masks/OTP-10445:
Redo watchdog test suite
Update/clarify some comments
Add reopen message from watchdog
Add options service_info
Add diameter_reg:wait/1
Clarify diameter_transport doc
Remove pre-OTP configure support
Remove obsolete make target
Use sequence masks in test suites
Implement sequence masks
Document sequence masks
Diffstat (limited to 'lib/diameter/src/base/diameter_session.erl')
-rw-r--r-- | lib/diameter/src/base/diameter_session.erl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/diameter/src/base/diameter_session.erl b/lib/diameter/src/base/diameter_session.erl index 4c468f207c..3b236f109a 100644 --- a/lib/diameter/src/base/diameter_session.erl +++ b/lib/diameter/src/base/diameter_session.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2010-2011. All Rights Reserved. +%% Copyright Ericsson AB 2010-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -20,6 +20,7 @@ -module(diameter_session). -export([sequence/0, + sequence/1, session_id/1, origin_state_id/0]). @@ -30,7 +31,7 @@ -define(INT32, 16#FFFFFFFF). %% --------------------------------------------------------------------------- -%% # sequence/0 +%% # sequence/0-1 %% %% Output: 32-bit %% --------------------------------------------------------------------------- @@ -77,6 +78,15 @@ sequence() -> Instr = {_Pos = 2, _Incr = 1, _Threshold = ?INT32, _SetVal = 0}, ets:update_counter(diameter_sequence, sequence, Instr). +-spec sequence(diameter:sequence()) + -> diameter:'Unsigned32'(). + +sequence({_,32}) -> + sequence(); + +sequence({H,N}) -> + (H bsl N) bor (sequence() band (1 bsl N - 1)). + %% --------------------------------------------------------------------------- %% # origin_state_id/0 %% --------------------------------------------------------------------------- |