1 write to _tokens
Microsoft.Extensions.Caching.Memory (1)
CacheEntry.cs (1)
316return 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)
138[MemberNotNull(nameof(_tokens))] 144[MemberNotNull(nameof(_tokens))] 222_tokens?.PropagateTokens(parent); 233|| (_tokens != null && _tokens.CheckForExpiredTokens(this)); 242_tokens?.DetachTokens(); 274internal void AttachTokens() => _tokens?.AttachTokens(this); 287internal void InvokeEvictionCallbacks() => _tokens?.InvokeEvictionCallbacks(this); 291if ((_tokens == null || !_tokens.CanPropagateTokens()) && _absoluteExpirationTicks < 0 || _current.Value is not CacheEntry parent) 304_tokens?.PropagateTokens(parent); 307[MemberNotNull(nameof(_tokens))] 310if (_tokens != null) 312return _tokens;