protected override async Task OnClientDataReceived(IPeerProxy client, byte[] data) { Stream stream = new MemoryStream(data); PeerPacketHeader packetHeader = stream.DeserializePeerPacketHeader(); switch ((PacketType)packetHeader.Type) { case PacketType.System: { HandleSystemPacket(client, stream); } break; case PacketType.Post: { HandlePostPacket(client, stream); } break; case PacketType.Vote: { HandleVotePacket(stream); } break; } }
protected override async Task OnClientDataReceived(IPeerProxy client, byte[] data, int bytesRead) { PeerPacketHeader packetHeader = data.DeserializePeerPacketHeader(); switch ((MessageType)packetHeader.Type) { case MessageType.SYSTEM: { } break; case MessageType.MSG: { } break; case MessageType.VOTE: { PeerPacket <Vote> votePacket = data.DeserializePeerPacket <Vote>(); Vote vote = votePacket.Payload; switch (vote.Ogranization) { case OrganizationType.Union: break; case OrganizationType.Company: break; case OrganizationType.Village: break; case OrganizationType.City: break; case OrganizationType.Government: break; case OrganizationType.Country: break; case OrganizationType.Anonymous: break; default: throw new ArgumentOutOfRangeException(); } } break; } }