Kombu.Clocks.LamportClock (Kombu v0.1.0)

Copy Markdown View Source

Lamport logical clock backed by :atomics for lock-free thread/process safety (kombu.clocks.LamportClock).

Summary

Functions

Return the earliest/winning event from a sorted list of {clock, process_id, ...} tuples (kombu.clocks.LamportClock.sort_heap).

Types

t()

@type t() :: %Kombu.Clocks.LamportClock{ref: :atomics.atomics_ref()}

Functions

adjust(clock, other)

@spec adjust(t(), integer() | nil) :: integer()

forward(lamport_clock)

@spec forward(t()) :: integer()

new(initial_value \\ 0)

@spec new(integer()) :: t()

sort_heap(h)

@spec sort_heap([tuple(), ...]) :: tuple()

Return the earliest/winning event from a sorted list of {clock, process_id, ...} tuples (kombu.clocks.LamportClock.sort_heap).

value(lamport_clock)

@spec value(t()) :: integer()