Пример #1
0
 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());
 }
Пример #2
0
        //
        // 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);
        }