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); } } }
public void Reuse(string id) { if (_mReusedIds.Count < MAX_REUSED_IDS_SIZE) { _mReusedIds.Enqueue(id); } }