Algorithm-VectorClocks
view release on metacpan or search on metacpan
lib/Algorithm/VectorClocks.pm view on Meta::CPAN
# retrieves $serialized_a and $serialized_b
my @res = order_vector_clocks({ A => $serialized_a, B => $serialized_b });
$res[0]; # 'B' is the latest
$res[1]; # 'A'
=head1 DESCRIPTION
Description, shamelessly stolen from Wikipedia:
Vector Clocks is an algorithm for generating a partial ordering of
events in a distributed system. Just as in Lamport timestamps,
interprocess messages contain the state of the sending process's
logical clock. Vector clock of a system of N processes is an array
of N logical clocks, one per process, a local copy of which is kept
in each process with the following rules for clock updates:
* initially all clocks are zero
* each time a process experiences an internal event, it increments
( run in 1.424 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )