8 instantiations of TagSet
Microsoft.Extensions.Caching.Hybrid (8)
Internal\HybridCachePayload.cs (2)
318
pendingTags =
new
(pendingTagBuffer[0]);
321
pendingTags =
new
(pendingTagBuffer.AsSpan(0, pendingTagsCount).ToArray());
Internal\TagSet.cs (6)
111
return new
TagSet
(list[0]);
116
return new
TagSet
(arr[0]);
120
return new
TagSet
(arr);
134
return new
TagSet
(firstTag);
157
return new
TagSet
(oversized);
163
return new
TagSet
(final);
73 references to TagSet
Microsoft.Extensions.Caching.Hybrid (27)
Internal\DefaultHybridCache.CacheItem.cs (4)
19
protected CacheItem(long creationTimestamp,
TagSet
tags)
31
public
TagSet
Tags { get; }
107
protected CacheItem(long creationTimestamp,
TagSet
tags)
136
internal static CacheItem<T> Create(long creationTimestamp,
TagSet
tags) => ImmutableTypeCache<T>.IsImmutable
Internal\DefaultHybridCache.cs (2)
130
_globalInvalidateTimestamp = _backendCache is null ? _zeroTimestamp : SafeReadTagInvalidationAsync(
TagSet
.WildcardTag);
217
var state = new StampedeState<T, T>(this, new StampedeKey(key, flags),
TagSet
.Create(tags), token);
Internal\DefaultHybridCache.ImmutableCacheItem.cs (2)
15
public ImmutableCacheItem(long creationTimestamp,
TagSet
tags)
33
obj = new(0,
TagSet
.Empty); // timestamp doesn't matter - not used in L1/L2
Internal\DefaultHybridCache.MutableCacheItem.cs (1)
17
public MutableCacheItem(long creationTimestamp,
TagSet
tags)
Internal\DefaultHybridCache.Stampede.cs (1)
31
stampedeState = new StampedeState<TState, T>(this, stampedeKey,
TagSet
.Create(tags), canBeCanceled);
Internal\DefaultHybridCache.StampedeStateT.cs (3)
33
public StampedeState(DefaultHybridCache cache, in StampedeKey key,
TagSet
tags, bool canBeCanceled)
39
public StampedeState(DefaultHybridCache cache, in StampedeKey key,
TagSet
tags, CancellationToken token)
541
private static bool ValidateUnicodeCorrectness(ILogger logger, string key,
TagSet
tags)
Internal\DefaultHybridCache.TagInvalidation.cs (6)
45
TagSet
tags = cacheItem.Tags;
141
public ValueTask<bool> IsAnyTagExpiredAsync(
TagSet
tags, long timestamp)
150
static async ValueTask<bool> SlowAsync(DefaultHybridCache @this,
TagSet
tags, long timestamp)
202
if (tag ==
TagSet
.WildcardTag)
212
internal void PrefetchTags(
TagSet
tags)
244
if (tag ==
TagSet
.WildcardTag)
Internal\HybridCachePayload.cs (6)
64
TagSet
PendingTags,
69
public static int GetMaxBytes(string key,
TagSet
tags, int payloadSize)
110
string key, long creationTime, TimeSpan duration, PayloadFlags flags,
TagSet
tags, ReadOnlySequence<byte> payload)
181
public static HybridCachePayloadParseResult TryParse(ArraySegment<byte> source, string key,
TagSet
knownTags, DefaultHybridCache cache,
196
TagSet
pendingTags =
TagSet
.Empty;
Internal\TagSet.cs (2)
19
public static readonly
TagSet
Empty = default!;
96
internal static
TagSet
Create(IEnumerable<string>? tags)
Microsoft.Extensions.Caching.Hybrid.Tests (46)
BufferReleaseTests.cs (6)
132
var arr = ArrayPool<byte>.Shared.Rent(HybridCachePayload.GetMaxBytes(key,
TagSet
.Empty, writer.CommittedBytes));
133
var bytes = HybridCachePayload.Write(arr, key, cache.CurrentTimestamp(), TimeSpan.FromHours(1), 0,
TagSet
.Empty, writer.AsSequence());
195
var arr = ArrayPool<byte>.Shared.Rent(HybridCachePayload.GetMaxBytes(key,
TagSet
.Empty, writer.CommittedBytes));
196
var bytes = HybridCachePayload.Write(arr, key, cache.CurrentTimestamp(), TimeSpan.FromHours(1), 0,
TagSet
.Empty, writer.AsSequence());
246
var obj = Assert.IsType<ImmutableCacheItem<string>>(CacheItem<string>.Create(12345,
TagSet
.Empty));
261
var obj = Assert.IsType<MutableCacheItem<Customer>>(CacheItem<Customer>.Create(12345,
TagSet
.Empty));
PayloadTests.cs (19)
44
var
tags = string.IsNullOrEmpty(delimitedTags)
45
?
TagSet
.Empty :
TagSet
.Create(delimitedTags.Split(','));
77
var
tags =
TagSet
.Create(["some_tag"]);
111
var
tags =
TagSet
.Create(["some_tag"]);
141
var
tags =
TagSet
.Create(["some_tag"]);
177
var
tags =
TagSet
.Create(["some_tag"]);
213
var result = HybridCachePayload.TryParse(new(bytes), "whatever",
TagSet
.Empty, cache, out var parsed, out _);
232
var
tags =
TagSet
.Create(["some_tag"]);
259
var
tags =
TagSet
.Create(["some_tag"]);
343
var
writeTags =
TagSet
.Create(tagsArray);
361
var result = HybridCachePayload.TryParse(new(oversized, 0, actualLength), key,
TagSet
.Empty, cache, out var parsed, out _);
StampedeTests.cs (1)
76
var state = new DefaultHybridCache.StampedeState<string, string>(cache, in key,
TagSet
.Empty, true);
TagSetTests.cs (20)
13
var
tags =
TagSet
.Empty;
24
var
tags =
TagSet
.Create([]);
35
var
tags =
TagSet
.Create(Custom());
52
var
tags =
TagSet
.Create(arr);
65
var
tags =
TagSet
.Create(Custom());
83
var
tags =
TagSet
.Create(arr);
98
var
tags =
TagSet
.Create(Custom());
120
var
tags =
TagSet
.Create(arr);
132
var
tags =
TagSet
.Create(LongCustom());
143
var ex = Assert.Throws<ArgumentException>(() =>
TagSet
.Create(["abc", "", "ghi"]));
151
var ex = Assert.Throws<ArgumentException>(() =>
TagSet
.Create(["abc", "*", "ghi"]));