2 instantiations of CacheableKeyRing
Microsoft.AspNetCore.DataProtection (2)
KeyManagement\Internal\CacheableKeyRing.cs (1)
49
return new
CacheableKeyRing
(CancellationToken.None, now + extension, KeyRing);
KeyManagement\KeyRingProvider.cs (1)
196
return new
CacheableKeyRing
(
25 references to CacheableKeyRing
Microsoft.AspNetCore.DataProtection (25)
KeyManagement\Internal\CacheableKeyRing.cs (3)
34
internal static bool IsValid([NotNullWhen(true)]
CacheableKeyRing
? keyRing, DateTime utcNow)
42
/// Returns a new <see cref="
CacheableKeyRing
"/> which is identical to 'this' but with a
46
internal
CacheableKeyRing
WithTemporaryExtendedLifetime(DateTimeOffset now)
KeyManagement\Internal\ICacheableKeyRingProvider.cs (1)
19
CacheableKeyRing
GetCacheableKeyRing(DateTimeOffset now);
KeyManagement\KeyRingProvider.cs (21)
22
private
CacheableKeyRing
? _cacheableKeyRing;
24
private Task<
CacheableKeyRing
>? _cacheableKeyRingTask; // Also covered by _cacheableKeyRingLockObj
81
private
CacheableKeyRing
CreateCacheableKeyRingCore(DateTimeOffset now, IKey? keyJustAdded)
171
private
CacheableKeyRing
CreateCacheableKeyRingCoreStep2(DateTimeOffset now, CancellationToken cacheExpirationToken, IKey defaultKey, IEnumerable<IKey> allKeys)
231
CacheableKeyRing
? existingCacheableKeyRing = null;
235
if (
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
257
if (
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
270
CacheableKeyRing
newCacheableKeyRing;
337
var
cached = Volatile.Read(ref _cacheableKeyRing);
338
if (
CacheableKeyRing
.IsValid(cached, utcNow))
344
CacheableKeyRing
? existingCacheableKeyRing;
353
if (
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
395
CacheableKeyRing
newCacheableKeyRing;
407
if (existingCacheableKeyRing is not null && !
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
425
Debug.Assert(
CacheableKeyRing
.IsValid(newCacheableKeyRing, utcNow), "GetCacheableKeyRing produced a ring that is already invalid at utcNow.");
461
Debug.Assert(!
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow), "Should have returned a valid cached key ring above");
473
private IKeyRing? GetKeyRingFromCompletedTaskUnsynchronized(Task<
CacheableKeyRing
> task, DateTime utcNow)
488
var
newCacheableKeyRing = task.GetAwaiter().GetResult(); // Call GetResult to throw on failure
494
var
existingCacheableKeyRing = Volatile.Read(ref _cacheableKeyRing);
495
if (existingCacheableKeyRing is not null && !
CacheableKeyRing
.IsValid(existingCacheableKeyRing, utcNow))
536
CacheableKeyRing
ICacheableKeyRingProvider.GetCacheableKeyRing(DateTimeOffset now)