private void PushCache(string guid, GruntMessageCacheInfo cacheEntry) { if (this.GruntMessageCache.TryGetValue(guid, out ConcurrentQueue <GruntMessageCacheInfo> cacheQueue)) { lock (_hashCodesLock) { if (this.CacheTaskHashCodes.Add(GetCacheEntryHashCode(cacheEntry))) { cacheQueue.Enqueue(cacheEntry); } } } else { cacheQueue = new ConcurrentQueue <GruntMessageCacheInfo>(); lock (_hashCodesLock) { if (this.CacheTaskHashCodes.Add(GetCacheEntryHashCode(cacheEntry))) { cacheQueue.Enqueue(cacheEntry); } } this.GruntMessageCache[guid] = cacheQueue; } }
private int GetCacheEntryHashCode(GruntMessageCacheInfo cacheEntry) { return(GetTaskingHashCode(cacheEntry.Tasking)); }