/* * /// <summary> * /// Invoked for updating specified performance counter for a cached shard map object. * /// </summary> * /// <param name="shardMap">Storage representation of a shard map.</param> * /// <param name="name">Performance counter to increment.</param> * public void IncrementPerformanceCounter(IStoreShardMap shardMap, PerformanceCounterName name) * { * using (ReadLockScope rls = _cacheRoot.GetReadLockScope(false)) * { * CacheShardMap csm = _cacheRoot.LookupById(shardMap.Id); * * if (csm != null) * { * using (ReadLockScope rlsShardMap = csm.GetReadLockScope(false)) * { * csm.IncrementPerformanceCounter(name); * } * } * } * } */ /// <summary> /// Clears the cache. /// </summary> public virtual void Clear() { using (WriteLockScope wls = _cacheRoot.GetWriteLockScope()) { _cacheRoot.Clear(); } }
/// <summary> /// Invoked for deleting mapping in cache becase it no longer exists in store. /// </summary> /// <param name="mapping">Storage representation of mapping.</param> public virtual void DeleteMapping(IStoreMapping mapping) { using (ReadLockScope rls = _cacheRoot.GetReadLockScope(false)) { CacheShardMap csm = _cacheRoot.LookupById(mapping.ShardMapId); if (csm != null) { using (WriteLockScope wlscsm = csm.GetWriteLockScope()) { csm.Mapper.Remove(mapping); /* * // Update perf counters for remove mapping operation and mappings count. * csm.IncrementPerformanceCounter(PerformanceCounterName.MappingsRemovePerSec); * csm.SetPerformanceCounter(PerformanceCounterName.MappingsCount, csm.Mapper.GetMappingsCount()); */ Tracer.TraceVerbose( TraceSourceConstants.ComponentNames.ShardMapManager, "OnDeleteMapping", "Cache delete mapping complete. Mapping Id: {0}", mapping.Id); } } } }
/// <summary> /// Invoked for deleting shard map in cache becase it no longer exists in store. /// </summary> /// <param name="shardMap">Storage representation of shard map.</param> public virtual void DeleteShardMap(IStoreShardMap shardMap) { using (WriteLockScope wls = _cacheRoot.GetWriteLockScope()) { _cacheRoot.Remove(shardMap); Tracer.TraceVerbose( TraceSourceConstants.ComponentNames.ShardMapManager, "OnDeleteShardMap", "Cache delete complete. ShardMap: {0}", shardMap.Name); } }