public CacheItem(CacheDefinition definition) { IsWaiting = false; Id = definition.Id; Value = definition.Value; ExpireAfter = definition.ExpireAfter; }
public ICoroutineResult AddOrUpdateAndGet(CacheDefinition cacheItem, Action<object> set, string groupId = null) { SetupCacheDefinitionExpireTime(cacheItem, groupId); var cm = new CacheMessage(CacheAction.AddOrUpdateAndGet, _messageTimeout) { GroupId = groupId, CacheItem = cacheItem, ItemId = cacheItem.Id }; _cacheMessages.Enqueue(cm); return BuildResult(cm, set); }
public void AddOrUpdateItem(CacheDefinition cacheItem, string groupId = null) { SetupCacheDefinitionExpireTime(cacheItem, groupId); var cm = new CacheMessage(CacheAction.AddOrUpdateItem, _messageTimeout) { GroupId = groupId, CacheItem = cacheItem, ItemId = cacheItem.Id }; _cacheMessages.Enqueue(cm); }
private void SetupCacheDefinitionExpireTime(CacheDefinition cacheItem, string groupId) { if (!_groups.ContainsKey(groupId ?? string.Empty)) { throw new Exception("Missing cache group id " + groupId ?? string.Empty); } var group = _groups[groupId ?? string.Empty]; if (cacheItem.ExpireAfter.TotalMilliseconds < 0) { cacheItem.ExpireAfter = group.ExpireAfter; } }
public void AddGroup(CacheGroupDefinition groupDefinition, CacheDefinition cacheItem = null) { if (_groups.ContainsKey(groupDefinition.Id)) { throw new Exception("Duplicate cache group id " + groupDefinition.Id); } var cm = new CacheMessage(CacheAction.AddGroup, _messageTimeout) { GroupDefinition = groupDefinition, CacheItem = cacheItem }; _cacheMessages.Enqueue(cm); }
public ICoroutineResult AddOrUpdateAndGet(CacheDefinition cacheItem, Action<object> set, string groupId = null) { throw new NotImplementedException(); }
public void AddOrUpdateItem(CacheDefinition cacheItem, string groupId = null) { throw new NotImplementedException(); }
public void AddGroup(CacheGroupDefinition groupDefinition, CacheDefinition cacheItem = null) { throw new NotImplementedException(); }