private Msg.GossipStatus GossipStatusToProto(GossipStatus gossipStatus) { var allHashes = gossipStatus.Version.Versions.Keys.Select(x => x.ToString()).ToList(); var hashMapping = allHashes.ZipWithIndex(); return(Msg.GossipStatus.CreateBuilder().SetFrom(UniqueAddressToProto(gossipStatus.From)) .AddRangeAllHashes(allHashes).SetVersion(VectorClockToProto(gossipStatus.Version, hashMapping)).Build()); }
private static byte[] GossipStatusToProto(GossipStatus gossipStatus) { var allHashes = gossipStatus.Version.Versions.Keys.Select(x => x.ToString()).ToList(); var hashMapping = allHashes.ZipWithIndex(); var message = new Proto.Msg.GossipStatus(); message.From = UniqueAddressToProto(gossipStatus.From); message.AllHashes.AddRange(allHashes); message.Version = VectorClockToProto(gossipStatus.Version, hashMapping); return(message.ToByteArray()); }