Esempio n. 1
0
 Task MessageHandle(IPEndPoint endPoint, Message msg)
 {
     return(msg.Type switch
     {
         MessageType.HandShake => HandShakeHandle(endPoint, Deserialize <HandShake>(msg.Payload)),
         MessageType.Addr => AddrHandle(Deserialize <AddrPayload>(msg.Payload)),
         MessageType.Inventory => Task.CompletedTask,
         MessageType.NewTransaction => BlockchainManager.NewTransactionHandle(Deserialize <NewTransaction>(msg.Payload)),
         MessageType.NewBlock => BlockchainManager.NewBlockHandle(Deserialize <NewBlock>(msg.Payload), endPoint, Port),
         MessageType.FullChain => BlockchainManager.ReceiveFullChain(msg, endPoint),
         MessageType.RequestFullChain => BlockchainManager.SendFullChain(endPoint, Port),
         MessageType.Notice => Task.CompletedTask,
         MessageType.Ping => Task.CompletedTask,
         MessageType.SurfaceHandShake => Task.CompletedTask,
         _ => Task.CompletedTask
     });