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