Beispiel #1
0
        public static MeshNetworkPacket Parse(BinaryReader bR)
        {
            MeshNetworkPacketType type = (MeshNetworkPacketType)bR.ReadByte();

            switch (type)
            {
            case MeshNetworkPacketType.PingRequest:
            case MeshNetworkPacketType.PingResponse:
            case MeshNetworkPacketType.MessageTypingNotification:
                return(new MeshNetworkPacket(type));

            case MeshNetworkPacketType.PeerExchange:
                return(new MeshNetworkPacketPeerExchange(bR));

            case MeshNetworkPacketType.LocalNetworkOnly:
                return(new MeshNetworkPacketLocalNetworkOnly(bR));

            case MeshNetworkPacketType.Profile:
                return(new MeshNetworkPacketProfile(bR));

            case MeshNetworkPacketType.ProfileDisplayImage:
                return(new MeshNetworkPacketProfileDisplayImage(bR));

            case MeshNetworkPacketType.GroupDisplayImage:
                return(new MeshNetworkPacketGroupDisplayImage(bR));

            case MeshNetworkPacketType.GroupLockNetwork:
                return(new MeshNetworkPacketGroupLockNetwork(bR));

            case MeshNetworkPacketType.Message:
                return(new MeshNetworkPacketMessage(bR));

            case MeshNetworkPacketType.MessageDeliveryNotification:
                return(new MeshNetworkPacketMessageDeliveryNotification(bR));

            case MeshNetworkPacketType.FileRequest:
                return(new MeshNetworkPacketFileRequest(bR));

            default:
                throw new InvalidOperationException("Invalid message type: " + type);
            }
        }
Beispiel #2
0
 public MeshNetworkPacket(MeshNetworkPacketType type)
 {
     _type = type;
 }