コード例 #1
0
 protected virtual void OnDispose()
 {
     try
     {
         object data = DequeueSendMessage();
         while (data != null)
         {
             if (data is IBuffer)
             {
                 ((IBuffer)data).Free();
             }
             data = DequeueSendMessage();
         }
         mReceiveArgs.Server  = null;
         mReceiveArgs.Session = null;
         mBaseNetStream.Dispose();
         if (mSslStream != null)
         {
             mSslStream.Dispose();
         }
         Server.CloseSession(this);
         Server            = null;
         ReceiveDispatcher = null;
         if (Packet != null)
         {
             Packet.Dispose();
         }
         mProperties.Clear();
         mReceiveMessages.Clear();
         mDecodeCompletedArgs = null;
     }
     catch
     {
     }
 }
コード例 #2
0
ファイル: Dispatcher.cs プロジェクト: tersonly/BeetleX
        public void Dispose()
        {
#if NETSTANDARD2_0
            while (mQueue.TryDequeue(out T result)) ;
#else
            mQueue.Clear();
#endif
        }
コード例 #3
0
ファイル: Dispatcher.cs プロジェクト: snowdream1985/BeetleX
        public void Dispose()
        {
#if (NETSTANDARD2_0)
            while (mQueue.TryDequeue(out T item))
            {
            }
#else
            mQueue.Clear();
#endif
        }
コード例 #4
0
ファイル: Pool.cs プロジェクト: sosont/BeetleX
        private bool disposedValue = false; // 要检测冗余调用

        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    mPool.Clear();
                }

                disposedValue = true;
            }
        }
コード例 #5
0
 public void Clear()
 {
     queue.Clear();
     bag.Clear();
 }
コード例 #6
0
 public void Dispose()
 {
     mQueue.Clear();
 }
コード例 #7
0
ファイル: Dispatcher.cs プロジェクト: wanglong/BeetleX
 public void Dispose()
 {
     mEnabled = false;
     mQueue.Clear();
 }