1 write to _tokens
Microsoft.Extensions.Caching.Memory (1)
CacheEntry.cs (1)
318return Interlocked.CompareExchange(ref _tokens, result, null) ?? result;
16 references to _tokens
Microsoft.Extensions.Caching.Memory (16)
CacheEntry.CacheEntryTokens.cs (2)
116Debug.Assert(entry._tokens != null); 117List<PostEvictionCallbackRegistration>? callbackRegistrations = Interlocked.Exchange(ref entry._tokens._postEvictionCallbacks, null);
CacheEntry.cs (14)
137[MemberNotNull(nameof(_tokens))] 143[MemberNotNull(nameof(_tokens))] 221_tokens?.PropagateTokens(parent); 232|| (_tokens != null && _tokens.CheckForExpiredTokens(this)); 244_tokens?.DetachTokens(); 276internal void AttachTokens() => _tokens?.AttachTokens(this); 289internal void InvokeEvictionCallbacks() => _tokens?.InvokeEvictionCallbacks(this); 293if ((_tokens == null || !_tokens.CanPropagateTokens()) && _absoluteExpirationTicks < 0 || _current.Value is not CacheEntry parent) 306_tokens?.PropagateTokens(parent); 309[MemberNotNull(nameof(_tokens))] 312if (_tokens != null) 314return _tokens;