protected override void Decode(IChannelHandlerContext context, DatagramPacket message, List <object> output)
        {
            try
            {
                List <IByteBuffer> parsedPackets = protocol.ReceivePacket(message.Content);
                if (parsedPackets.Count > 0)
                {
                    foreach (IByteBuffer currBuffer in parsedPackets)
                    {
                        output.Add(new DatagramPacket(currBuffer, message.Recipient));
                    }
                }
            }
            catch (TlsFatalAlert ex)
            {
                try
                {
                    protocol.SendAlert(AlertLevel.fatal, ex.AlertDescription, ex.Message, ex.InnerException);
                }
                catch (Exception)
                {
                }

                if (handler != null)
                {
                    handler.errorOccured(context.Channel);
                }
            }
            catch (Exception ex)
            {
                try
                {
                    protocol.SendAlert(AlertLevel.fatal, AlertDescription.decode_error, ex.Message, ex.InnerException);
                }
                catch (Exception)
                {
                }

                if (handler != null)
                {
                    handler.errorOccured(context.Channel);
                }
            }
        }