public VectorClock Increment(Node node) { if (!Values.TryGetValue(node, out var currentTimestamp)) { return(this); } return(new VectorClock(Values.SetItem(node, currentTimestamp + 1))); }
public VectorClock Prune(Node removedNode) { var newValues = Values.Remove(removedNode); return(!ReferenceEquals(newValues, Values) ? new VectorClock(newValues) : this); }