Пример #1
0
        public NetworkMessage GetPeersReply(Peer[] peers)
        {
            var reply = new GetPeersReply {
                Peers = { peers }
            };

            return(new NetworkMessage {
                GetPeersReply = reply
            });
        }
Пример #2
0
 private Action <IMessage> SendTo(ClientWorker peer)
 {
     return(x =>
     {
         Logger.LogTrace($"Sending {x.GetType()} to {peer.PeerPublicKey.ToHex()}");
         NetworkMessage msg = x switch
         {
             PingReply pingReply => new NetworkMessage {
                 PingReply = pingReply
             },
             SyncBlocksReply syncBlockReply => new NetworkMessage {
                 SyncBlocksReply = syncBlockReply
             },
             SyncPoolReply syncPoolReply => new NetworkMessage {
                 SyncPoolReply = syncPoolReply
             },
             GetPeersReply getPeersReply => new NetworkMessage {
                 GetPeersReply = getPeersReply
             },
             _ => throw new InvalidOperationException()
         };
         peer.AddMsgToQueue(msg);
     });
 }