Readonly
peersMapping of session IDs to logical timestamps.
Session ID (or actor ID, site ID, process ID, etc.), a random identifier randomly assigned to each editing session.
Logical time (or sequence number, tick, etc.), a monotonically increasing integer, starting from 0. It does not produce gaps on local machine, but it can produce gaps when merged with other clocks.
Needs to be mutable in vector clock. Other than that, it should be treated as immutable.
Copy the clock while keeping the same session ID.
Copy the clock with a new session ID.
Advances clocks when we observe higher time values.
Operation timestamp that was observed.
Returns the current clock timestamp and advances the clock given number of ticks.
Interface which represents a local clock and a list of remote clocks.