Example #1
0
        public void Can_do_roundtrip()
        {
            PongMessage           msg        = PongMessage.Instance;
            PongMessageSerializer serializer = new PongMessageSerializer();

            byte[] serialized = serializer.Serialize(msg);
            Assert.AreEqual(0xc0, serialized[0]);
            PongMessage deserialized = serializer.Deserialize(serialized);

            Assert.NotNull(deserialized);
        }
        public SerializationBuilder WithDiscovery(PrivateKey privateKey)
        {
            Ecdsa            ecdsa = new Ecdsa();
            SameKeyGenerator privateKeyProvider = new SameKeyGenerator(privateKey);

            PingMessageSerializer      pingSerializer      = new PingMessageSerializer(ecdsa, privateKeyProvider, new DiscoveryMessageFactory(_timestamper), new NodeIdResolver(ecdsa));
            PongMessageSerializer      pongSerializer      = new PongMessageSerializer(ecdsa, privateKeyProvider, new DiscoveryMessageFactory(_timestamper), new NodeIdResolver(ecdsa));
            FindNodeMessageSerializer  findNodeSerializer  = new FindNodeMessageSerializer(ecdsa, privateKeyProvider, new DiscoveryMessageFactory(_timestamper), new NodeIdResolver(ecdsa));
            NeighborsMessageSerializer neighborsSerializer = new NeighborsMessageSerializer(ecdsa, privateKeyProvider, new DiscoveryMessageFactory(_timestamper), new NodeIdResolver(ecdsa));

            return(With(pingSerializer)
                   .With(pongSerializer)
                   .With(findNodeSerializer)
                   .With(neighborsSerializer));
        }
        public SerializationBuilder WithDiscovery(PrivateKey privateKey)
        {
            var    config             = new JsonConfigProvider();
            Signer signer             = new Signer();
            var    privateKeyProvider = new SameKeyGenerator(privateKey);

            PingMessageSerializer      pingSerializer      = new PingMessageSerializer(signer, privateKeyProvider, new DiscoveryMessageFactory(config, _timestamp), new NodeIdResolver(signer), new NodeFactory(LimboLogs.Instance));
            PongMessageSerializer      pongSerializer      = new PongMessageSerializer(signer, privateKeyProvider, new DiscoveryMessageFactory(config, _timestamp), new NodeIdResolver(signer), new NodeFactory(LimboLogs.Instance));
            FindNodeMessageSerializer  findNodeSerializer  = new FindNodeMessageSerializer(signer, privateKeyProvider, new DiscoveryMessageFactory(config, _timestamp), new NodeIdResolver(signer), new NodeFactory(LimboLogs.Instance));
            NeighborsMessageSerializer neighborsSerializer = new NeighborsMessageSerializer(signer, privateKeyProvider, new DiscoveryMessageFactory(config, _timestamp), new NodeIdResolver(signer), new NodeFactory(LimboLogs.Instance));

            return(With(pingSerializer)
                   .With(pongSerializer)
                   .With(findNodeSerializer)
                   .With(neighborsSerializer));
        }