private Msg.GossipEnvelope GossipEnvelopeToProto(GossipEnvelope gossipEnvelope) { return(Msg.GossipEnvelope.CreateBuilder() .SetFrom(UniqueAddressToProto(gossipEnvelope.From)) .SetTo(UniqueAddressToProto(gossipEnvelope.To)) .SetSerializedGossip(ByteString.CopyFrom(Compress(GossipToProto(gossipEnvelope.Gossip).Build()))) .Build()); }
// // Cluster Gossip Messages // private static byte[] GossipEnvelopeToProto(GossipEnvelope gossipEnvelope) { var message = new Proto.Msg.GossipEnvelope(); message.From = UniqueAddressToProto(gossipEnvelope.From); message.To = UniqueAddressToProto(gossipEnvelope.To); message.SerializedGossip = ByteString.CopyFrom(GossipToProto(gossipEnvelope.Gossip).ToByteArray()); return(message.ToByteArray()); }
public void Can_serialize_GossipEnvelope() { var address = new Address("akka.tcp", "system", "some.host.org", 4711); var uniqueAddress2 = new UniqueAddress(address, 18); var node1 = new VectorClock.Node("node1"); var node2 = new VectorClock.Node("node2"); var g1 = new Gossip(ImmutableSortedSet.Create(a1, b1, c1, d1)).Increment(node1) .Increment(node2) .Seen(a1.UniqueAddress) .Seen(b1.UniqueAddress); var message1 = new GossipEnvelope(a1.UniqueAddress, uniqueAddress2, g1); var deserialized = AssertAndReturn(message1); message1.From.Should().Be(deserialized.From); message1.To.Should().Be(deserialized.To); message1.Gossip.Members.Should().BeEquivalentTo(deserialized.Gossip.Members); message1.Gossip.Overview.Seen.Should().BeEquivalentTo(deserialized.Gossip.Overview.Seen); message1.Gossip.Overview.Reachability.Should().Be(deserialized.Gossip.Overview.Reachability); message1.Gossip.Version.Versions.Should().Equal(deserialized.Gossip.Version.Versions); }