internal override void HandleReceiveException(Exception ex)
 {
     if (UdpUtility.CanIgnoreServerException(ex))
     {
         FxTrace.Exception.AsWarning(ex);
     }
     else
     {
         //base implementation will wrap the exception and enqueue it.
         base.HandleReceiveException(ex);
     }
 }
        //Tries to enqueue this async exception onto the channel instance if possible,
        //puts it onto the local exception queue otherwise.
        void HandleReceiveException(Exception ex)
        {
            TChannel channel = this.channelInstance;

            if (channel != null)
            {
                channel.HandleReceiveException(ex);
            }
            else
            {
                if (UdpUtility.CanIgnoreServerException(ex))
                {
                    FxTrace.Exception.AsWarning(ex);
                }
                else
                {
                    this.channelQueue.EnqueueAndDispatch(UdpUtility.WrapAsyncException(ex), null, false);
                }
            }
        }