Beispiel #1
0
        /// <summary>
        /// Called whenever a fully parsed message is received from a peer.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PeerMessageReceived(Peer sender, PeerMessageReceivedArgs e)
        {
            switch (e.Message)
            {
            case MsgAddr msgAddr:
                break;

            case MsgBlock msgBlock:
                break;

            case MsgGetAddr msgGetAddr:
                sender.SendMessage(new MsgAddr {
                });
                break;

            case MsgGetBlocks msgGetBlocks:
                break;

            case MsgGetHeaders msgGetHeaders:
                break;

            case MsgGetMiningState msgGetMiningState:
                break;

            case MsgPing msgPing:
                sender.SendMessage(new MsgPong {
                    Nonce = msgPing.Nonce
                });
                break;

            case MsgPong msgPong:
                break;

            case MsgReject msgReject:
                break;

            case MsgTx msgTx:
                break;

            case MsgVerAck msgVerAck:
                Peers.Add(sender);
                break;

            case MsgVersion msgVersion:
                break;
            }
        }
Beispiel #2
0
 protected virtual void OnMessageReceived(PeerMessageReceivedArgs e)
 {
     MessageReceived?.Invoke(this, e);
 }