Esempio n. 1
0
 public void Push(TCPSocketToken token)
 {
     lock (this)
     {
         if (token != null && !_TokenPool.Contains(token))
         {
             --_UsedTokenNum;
             token.Clear();
             token.Session = null;
             _TokenPool.Enqueue(token);
         }
     }
 }
Esempio n. 2
0
 public TCPSocketToken Pop()
 {
     lock (this)
     {
         TCPSocketToken token = null;
         if (_TokenPool.Count > 0)
         {
             token = _TokenPool.Dequeue();
         }
         if (token == null)
         {
             token = CreatNewToken();
         }
         ++_UsedTokenNum;
         token.Clear();
         return(token);
     }
 }