private static Proto.Msg.VectorClock VectorClockToProto(VectorClock vectorClock, Dictionary <string, int> hashMapping) { var message = new Proto.Msg.VectorClock(); foreach (var clock in vectorClock.Versions) { var version = new Proto.Msg.VectorClock.Types.Version(); version.HashIndex = MapWithErrorMessage(hashMapping, clock.Key.ToString(), "hash"); version.Timestamp = clock.Value; message.Versions.Add(version); } message.Timestamp = 0L; return(message); }
private static VectorClock VectorClockFrom(Proto.Msg.VectorClock version, IList <string> hashMapping) { return(VectorClock.Create(version.Versions.ToImmutableSortedDictionary(version1 => VectorClock.Node.FromHash(hashMapping[version1.HashIndex]), version1 => version1.Timestamp))); }