From 9f19e5450164e492bfe1ab57862725a1966cd231 Mon Sep 17 00:00:00 2001 From: Brad Anderson Date: Tue, 8 Jun 2010 22:25:34 -0400 Subject: missed a lib_misc function that vector clocks used, during dynomite -> membership rename --- src/vector_clock.erl | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/vector_clock.erl b/src/vector_clock.erl index 740d1520..0a422334 100644 --- a/src/vector_clock.erl +++ b/src/vector_clock.erl @@ -9,7 +9,7 @@ %% -include("etest/vector_clock_test.erl"). %% -endif. -create(NodeName) -> [{NodeName, lib_misc:now_float()}]. +create(NodeName) -> [{NodeName, now_float()}]. truncate(Clock) when length(Clock) > 10 -> lists:nthtail(length(Clock) - 10, lists:keysort(2, Clock)); @@ -17,13 +17,13 @@ truncate(Clock) when length(Clock) > 10 -> truncate(Clock) -> Clock. increment(NodeName, [{NodeName, _Version}|Clocks]) -> - [{NodeName, lib_misc:now_float()}|Clocks]; + [{NodeName, now_float()}|Clocks]; increment(NodeName, [NodeClock|Clocks]) -> [NodeClock|increment(NodeName, Clocks)]; increment(NodeName, []) -> - [{NodeName, lib_misc:now_float()}]. + [{NodeName, now_float()}]. resolve({ClockA, ValuesA}, {ClockB, ValuesB}) -> case compare(ClockA, ClockB) of @@ -98,3 +98,12 @@ equals(ClockA, ClockB) -> end, ClockB) end, ClockA), Equivalent and (length(ClockA) == length(ClockB)). + +now_float() -> + time_to_epoch_float(now()). + +time_to_epoch_float(Time) when is_integer(Time) or is_float(Time) -> + Time; + +time_to_epoch_float({Mega,Sec,Micro}) -> + Mega * 1000000 + Sec + Micro / 1000000. -- cgit v1.2.3