Example #1
0
        private void ProcessSendQueue()
        {
            lock (_aegisClient)
            {
                if (_queueSendPacket.Count() == 0)
                {
                    return;
                }

                else if (_aegisClient.ConnectionStatus == ConnectionStatus.Closed)
                {
                    _aegisClient.Connect();
                }

                else if (_aegisClient.ConnectionStatus == ConnectionStatus.Connected &&
                         _aegisClient.EnableSend == true)
                {
                    SecurePacket packet = _queueSendPacket.Peek();
                    if (PacketSending == null ||
                        PacketSending(packet) == true)
                    {
                        _queueSendPacket.Dequeue();
                        packet.Encrypt(AESIV, AESKey);
                        _aegisClient.SendPacket(packet);
                    }
                }
            }
        }