public static Task EnqueueActionPacket(BasePacket packet, QueuePriority priority = QueuePriority.Low,
                                               bool delaySend = true)
        {
            byte[] data = packet.ToArray();

            return(EnqueueActionPacket(new ActionPacketQueueItem(data, data.Length, delaySend), priority));
        }
        public static Task EnqueuePacket(BasePacket packet, QueuePriority priority = QueuePriority.Low,
                                         bool delaySend = true, CancellationToken cancellationToken = default)
        {
            byte[] data = packet.ToArray();

            return(EnqueuePacket(new PacketQueueItem(data, data.Length, delaySend)
            {
                Token = cancellationToken
            },
                                 priority));
        }
Example #3
0
        public static void SendPacketToClient(BasePacket basePacket)
        {
            if (basePacket.Direction != PacketDirection.Any && basePacket.Direction != PacketDirection.Incoming)
            {
                throw new InvalidOperationException("Send packet wrong direction.");
            }

            byte[] data = basePacket.ToArray();

            SendPacketToClient(data, data.Length);
        }
Example #4
0
        public static void SendPacketToServer(BasePacket basePacket)
        {
            if (basePacket.Direction != PacketDirection.Any && basePacket.Direction != PacketDirection.Outgoing)
            {
                throw new InvalidOperationException("Send packet wrong direction.");
            }

            byte[] data = basePacket.ToArray();

            if (data == null)
            {
                return;
            }

            SendPacketToServer(data, data.Length);
        }
Example #5
0
 internal void Send(BasePacket Packet)
 {
     this.Send(Packet.ToArray());
 }