private TimedQueueCacheBucket GetOrCreateBucket() { TimedQueueCacheBucket cacheBucket; if (_cacheCursorHistogram.Count == 0) { Log(_logger, "TimedQueueCache for QueueId:{0}, Add: No buckets, creating the first bucket", Id.ToString()); cacheBucket = new TimedQueueCacheBucket(); _cacheCursorHistogram.Add(cacheBucket); } else { cacheBucket = _cacheCursorHistogram.Last(); // last one } // if last bucket is full or containing all the TimeSpan, open a new one if (cacheBucket.NumCurrentItems == _cacheHistogramMaxBucketSize || (cacheBucket.NewestMemberTimestamp - cacheBucket.OldestMemberTimestamp) > _bucketTimeSpan) { Log(_logger, "TimedQueueCache for QueueId:{0}, Add: Last bucket exceeded size ", Id.ToString()); cacheBucket = new TimedQueueCacheBucket(); _cacheCursorHistogram.Add(cacheBucket); } return(cacheBucket); }
private TimedQueueCacheBucket GetOrCreateBucket() { TimedQueueCacheBucket cacheBucket; if (_cacheCursorHistogram.Count == 0) { Log(_logger, "TimedQueueCache for QueueId:{0}, Add: No buckets, creating the first bucket", Id.ToString()); cacheBucket = new TimedQueueCacheBucket(); _cacheCursorHistogram.Add(cacheBucket); } else { cacheBucket = _cacheCursorHistogram.Last(); // last one } // if last bucket is full or containing all the TimeSpan, open a new one if (cacheBucket.NumCurrentItems == _cacheHistogramMaxBucketSize || (cacheBucket.NewestMemberTimestamp - cacheBucket.OldestMemberTimestamp) > _bucketTimeSpan) { Log(_logger, "TimedQueueCache for QueueId:{0}, Add: Last bucket exceeded size ", Id.ToString()); cacheBucket = new TimedQueueCacheBucket(); _cacheCursorHistogram.Add(cacheBucket); } return cacheBucket; }