summaryrefslogtreecommitdiff
path: root/src/plop_compat.erl
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2017-07-06 17:34:48 +0200
committerLinus Nordberg <linus@nordu.net>2017-07-06 17:34:48 +0200
commit05235680257a54f112c44c7854b3afe8300acd40 (patch)
tree25fe5447ec40e8bd59170241bcbd107f2e56f45d /src/plop_compat.erl
parent0d7c7bb15f449656e35801dac5ba410f16261c6f (diff)
parentdf2441c6315de4b245e1faf5b72517c5199fe179 (diff)
Merge branch 'map-benchreport2'HEADmaster
Diffstat (limited to 'src/plop_compat.erl')
-rw-r--r--src/plop_compat.erl30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/plop_compat.erl b/src/plop_compat.erl
index 4d45590..5c1fa17 100644
--- a/src/plop_compat.erl
+++ b/src/plop_compat.erl
@@ -2,7 +2,7 @@
%%% See LICENSE for licensing information.
-module(plop_compat).
--export([unpack_spki/1, timestamp/0, monotonic_time/1, start_timer/4]).
+-export([unpack_spki/1, timestamp/0, monotonic_time/1, start_timer/4, unique_integer/1, time_offset/1]).
-include_lib("public_key/include/public_key.hrl").
unpack_spki(SPKI) ->
@@ -13,6 +13,10 @@ monotonic_time(Unit) ->
monotonic_time(erlang:system_info(otp_release), Unit).
start_timer(Time, Dest, Msg, Options) ->
start_timer(erlang:system_info(otp_release), Time, Dest, Msg, Options).
+unique_integer(Modifiers) ->
+ unique_integer(erlang:system_info(otp_release), Modifiers).
+time_offset(Unit) ->
+ time_offset(erlang:system_info(otp_release), Unit).
unpack_spki("R16" ++ _, SPKI) ->
#'SubjectPublicKeyInfo'{subjectPublicKey = {_, Octets},
@@ -43,15 +47,35 @@ timestamp("19") ->
monotonic_time("R16" ++ _, millisecond) ->
{MeS, S, MiS} = timestamp(),
- MeS * 1000000 + S * 1000 + MiS;
+ (MeS * 1000000 + S) * 1000 + MiS div 1000;
monotonic_time("17", millisecond) ->
{MeS, S, MiS} = timestamp(),
- MeS * 1000000 + S * 1000 + MiS;
+ (MeS * 1000000 + S) * 1000 + MiS div 1000;
monotonic_time("18", Unit) ->
erlang:monotonic_time(Unit);
monotonic_time("19", Unit) ->
erlang:monotonic_time(Unit).
+unique_integer("R16", _Modifiers) ->
+ {MeS, S, MiS} = erlang:now(),
+ (MeS * 1000000 + S) * 1000000 + MiS;
+unique_integer("17", _Modifiers) ->
+ {MeS, S, MiS} = erlang:now(),
+ (MeS * 1000000 + S) * 1000000 + MiS;
+unique_integer("18", Modifiers) ->
+ erlang:unique_integer(Modifiers);
+unique_integer("19", Modifiers) ->
+ erlang:unique_integer(Modifiers).
+
+time_offset("R16", _Unit) ->
+ 0;
+time_offset("17", _Unit) ->
+ 0;
+time_offset("18", Unit) ->
+ erlang:time_offset(Unit);
+time_offset("19", Unit) ->
+ erlang:time_offset(Unit).
+
start_timer("R16" ++ _, Time, Dest, Msg, [{abs, true}]) ->
erlang:start_timer(max(0, Time - monotonic_time(millisecond)), Dest, Msg);
start_timer("17", Time, Dest, Msg, [{abs, true}]) ->