2 types derived from CacheItem
Microsoft.Extensions.Caching.Hybrid (2)
Internal\DefaultHybridCache.ImmutableCacheItem.cs (1)
10private sealed class ImmutableCacheItem<T> : CacheItem<T> // used to hold types that do not require defensive copies
Internal\DefaultHybridCache.MutableCacheItem.cs (1)
8private sealed partial class MutableCacheItem<T> : CacheItem<T> // used to hold types that require defensive copies
18 references to CacheItem
Microsoft.Extensions.Caching.Hybrid (18)
Internal\DefaultHybridCache.CacheItem.cs (1)
109internal static CacheItem<T> Create() => ImmutableTypeCache<T>.IsImmutable ? new ImmutableCacheItem<T>() : new MutableCacheItem<T>();
Internal\DefaultHybridCache.cs (1)
123&& untyped is CacheItem<T> typed && typed.TryGetValue(out var value))
Internal\DefaultHybridCache.L2.cs (1)
92internal void SetL1<T>(string key, CacheItem<T> value, HybridCacheEntryOptions? options)
Internal\DefaultHybridCache.Stampede.cs (1)
60&& untyped is CacheItem<T> typed && typed.TryReserve())
Internal\DefaultHybridCache.StampedeStateT.cs (14)
19private readonly TaskCompletionSource<CacheItem<T>>? _result; 26internal void SetResultDirect(CacheItem<T> value) 30: base(cache, key, CacheItem<T>.Create(), canBeCanceled) 36: base(cache, key, CacheItem<T>.Create(), token) 93CacheItem<T> result; 120public Task<CacheItem<T>> Task 127static Task<CacheItem<T>> InvalidAsync() => System.Threading.Tasks.Task.FromException<CacheItem<T>>( 153static async Task<T> AwaitedAsync(Task<CacheItem<T>> task) 158private static CacheItem<T> ThrowUnexpectedCacheItem() => throw new InvalidOperationException("Unexpected cache item"); 287CacheItem<T> cacheItem; 315CacheItem<T> cacheItem; 335CacheItem<T> cacheItem; 358private void SetResult(CacheItem<T> value)