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); } } } }