2 types derived from CacheItem
Microsoft.Extensions.Caching.Hybrid (2)
Internal\DefaultHybridCache.ImmutableCacheItem.cs (1)
11internal sealed class ImmutableCacheItem<T> : CacheItem<T> // used to hold types that do not require defensive copies
Internal\DefaultHybridCache.MutableCacheItem.cs (1)
11internal sealed partial class MutableCacheItem<T> : CacheItem<T> // used to hold types that require defensive copies
22 references to CacheItem
Microsoft.Extensions.Caching.Hybrid (22)
Internal\DefaultHybridCache.CacheItem.cs (1)
136internal static CacheItem<T> Create(long creationTimestamp, TagSet tags) => ImmutableTypeCache<T>.IsImmutable
Internal\DefaultHybridCache.cs (3)
151if (TryGetExisting<T>(key, out CacheItem<T>? typed) 282private bool TryGetExisting<T>(string key, [NotNullWhen(true)] out CacheItem<T>? value) 284if (_localCache.TryGetValue(key, out object? untyped) && untyped is CacheItem<T> typed)
Internal\DefaultHybridCache.L2.cs (1)
182internal void SetL1<T>(string key, CacheItem<T> value, HybridCacheEntryOptions? options, TimeSpan maxRelativeTime)
Internal\DefaultHybridCache.Stampede.cs (1)
61&& TryGetExisting<T>(key, out CacheItem<T>? typed)
Internal\DefaultHybridCache.StampedeStateT.cs (16)
23private readonly TaskCompletionSource<CacheItem<T>>? _result; 30internal void SetResultDirect(CacheItem<T> value) 34: base(cache, key, CacheItem<T>.Create(cache.CurrentTimestamp(), tags), canBeCanceled) 40: base(cache, key, CacheItem<T>.Create(cache.CurrentTimestamp(), tags), token) 97CacheItem<T> result; 124public Task<CacheItem<T>> Task 131static Task<CacheItem<T>> InvalidAsync() => System.Threading.Tasks.Task.FromException<CacheItem<T>>( 142Task<CacheItem<T>> task = Task; 157static async Task<T> AwaitedAsync(ILogger log, Task<CacheItem<T>> task) 162private static CacheItem<T> ThrowUnexpectedCacheItem() => throw new InvalidOperationException("Unexpected cache item"); 450CacheItem<T> cacheItem; 478CacheItem<T> cacheItem; 498CacheItem<T> cacheItem; 530private void SetResult(CacheItem<T> value) => SetResult(value, TimeSpan.MaxValue); 532private void SetResult(CacheItem<T> value, TimeSpan maxRelativeTime)