/// <summary> /// .ctor /// </summary> /// <param name="readOnlyCacheSession">Backing ReadOnlyCacheSession for content and fingerprint calls</param> /// <param name="cache">Backing cache.</param> /// <param name="cacheId">Id of the parent cache that spawned the session.</param> /// <param name="logger">Diagnostic logger</param> /// <param name="sessionId">Telemetry ID for the session.</param> public MemoizationStoreAdapterCacheReadOnlySession( IReadOnlyCacheSession readOnlyCacheSession, BuildXL.Cache.MemoizationStore.Interfaces.Caches.ICache cache, string cacheId, ILogger logger, string sessionId = null) { ReadOnlyCacheSession = readOnlyCacheSession; Cache = cache; Logger = logger; CacheId = cacheId; CacheSessionId = sessionId; SessionEntries = sessionId == null ? null : new ConcurrentDictionary <StrongFingerprint, int>(); }
/// <summary> /// Initializes a new instance of the <see cref="ReadOnlyDistributedCacheSession" /> class. /// </summary> public ReadOnlyDistributedCacheSession( ILogger logger, string name, IReadOnlyCacheSession innerCacheSession, Guid innerCacheId, IMetadataCache metadataCache, DistributedCacheSessionTracer tracer, ReadThroughMode readThroughModeMode) { Contract.Requires(logger != null); Contract.Requires(innerCacheSession != null); Contract.Requires(metadataCache != null); Logger = logger; Name = name; MetadataCache = metadataCache; _innerCacheSession = innerCacheSession; _innerCacheId = innerCacheId; DistributedTracer = tracer; _readThroughMode = readThroughModeMode; }