コード例 #1
0
ファイル: TcpMessageSender.cs プロジェクト: unidal/cat.net
 public void Send(IMessageTree tree)
 {
     if (isAtomicMessage(tree))
     {
         if (_mAtomicTrees.Count >= _mClientConfig.MaxQueueSize)
         {
             LogQueueOverflow(tree);
         }
         else if (_mAtomicTrees.EstimatedByteSize >= _mClientConfig.MaxQueueByteSize)
         {
             LogQueueBytesOverflow(tree);
         }
         else
         {
             // if (_mAtomicTrees.Count < _mClientConfig.MaxQueueSize && _mAtomicTrees.EstimatedByteSize < _mClientConfig.MaxQueueByteSize)
             _mAtomicTrees.Enqueue(tree);
         }
     }
     else
     {
         if (_mQueue.Count >= _mClientConfig.MaxQueueSize)
         {
             LogQueueOverflow(tree);
         }
         else if (_mQueue.EstimatedByteSize >= _mClientConfig.MaxQueueByteSize)
         {
             LogQueueBytesOverflow(tree);
         }
         else
         {
             // if (_mQueue.Count < _mClientConfig.MaxQueueSize && _mQueue.EstimatedByteSize < _mClientConfig.MaxQueueByteSize)
             _mQueue.Enqueue(tree);
         }
     }
 }
コード例 #2
0
 public void Reuse(string id)
 {
     if (_mReusedIds.Count < MAX_REUSED_IDS_SIZE)
     {
         _mReusedIds.Enqueue(id);
     }
 }