Increment the version for the node passed as argument.
Increment the version for the node passed as argument. Returns a new VectorClock.
Returns true if this
and that
are concurrent else false.
Returns true if this VectorClock has the same history as the 'that' VectorClock else false.
Merges this VectorClock with another VectorClock.
Merges this VectorClock with another VectorClock. E.g. merges its versioned history.
For the 'PartiallyOrdered' trait, to allow natural comparisons using <, > and ==.
For the 'PartiallyOrdered' trait, to allow natural comparisons using <, > and ==.
Compare two vector clocks. The outcomes will be one of the following:
1. Clock 1 is BEFORE (>) Clock 2 if there exists an i such that c1(i) <= c2(i) and there does not exist a j such that c1(j) > c2(j). 2. Clock 1 is CONCURRENT (<>) to Clock 2 if there exists an i, j such that c1(i) < c2(i) and c1(j) > c2(j). 3. Clock 1 is AFTER (<) Clock 2 otherwise.
Representation of a Vector-based clock (counting clock), inspired by Lamport logical clocks.
Based on code from the 'vlock' VectorClock library by Coda Hale.