1 interface inheriting from IChangeToken
Microsoft.Extensions.FileProviders.Physical (1)
6 implementations of IChangeToken
Microsoft.Extensions.Configuration (1)
Microsoft.Extensions.FileProviders.Abstractions (1)
Microsoft.Extensions.Logging.Console (1)
Microsoft.Extensions.ML (1)
Microsoft.Extensions.Primitives (2)
214 references to IChangeToken
aspire (1)
Microsoft.AspNetCore.Authorization.Policy (1)
Microsoft.AspNetCore.Components.Endpoints (3)
Microsoft.AspNetCore.Components.WebAssembly (3)
Microsoft.AspNetCore.Components.WebView (1)
Microsoft.AspNetCore.Hosting (1)
Microsoft.AspNetCore.Mvc (1)
Microsoft.AspNetCore.Mvc.Core (17)
Microsoft.AspNetCore.Mvc.Razor (9)
Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation (10)
Microsoft.AspNetCore.Mvc.TagHelpers (1)
Microsoft.AspNetCore.Routing (14)
Microsoft.AspNetCore.Server.Kestrel.Core (7)
Microsoft.AspNetCore.StaticAssets (1)
Microsoft.Extensions.Caching.Abstractions (16)
Microsoft.Extensions.Caching.Memory (27)
CacheEntry.ExpirationTokensList.cs (23)
20private sealed class ExpirationTokensList : IList<IChangeToken>
25private static readonly State s_empty = new State(Array.Empty<IChangeToken>(), 0);
28private volatile State _state = new State(Array.Empty<IChangeToken>(), 0);
39internal ReadOnlySpan<IChangeToken> Snapshot
44return new ReadOnlySpan<IChangeToken>(state._items, 0, Volatile.Read(ref state._count));
59public IChangeToken this[int index]
85var items = new IChangeToken[count];
93public void Add(IChangeToken item)
106internal void AddRange(ReadOnlySpan<IChangeToken> source)
119source.CopyTo(new Span<IChangeToken>(state._items, count, source.Length));
124public void Insert(int index, IChangeToken item)
149var items = new IChangeToken[updatedCount];
196public bool Remove(IChangeToken item)
220public bool Contains(IChangeToken item) => IndexOf(item) >= 0;
222public int IndexOf(IChangeToken item)
228public void CopyTo(IChangeToken[] array, int arrayIndex)
234public IEnumerator<IChangeToken> GetEnumerator()
237IChangeToken[] items = state._items;
267var items = new IChangeToken[GetCapacity(state._items.Length, requiredCapacity)];
306var items = new IChangeToken[GetCapacity(state._items.Length, requiredCapacity)];
328var items = new IChangeToken[updatedCount];
336public IChangeToken[] _items;
339public State(IChangeToken[] items, int count)
Microsoft.Extensions.Configuration (13)
Microsoft.Extensions.Configuration.Abstractions (6)
Microsoft.Extensions.FileProviders.Abstractions (6)
Microsoft.Extensions.FileProviders.Composite (5)
Microsoft.Extensions.FileProviders.Embedded (2)
Microsoft.Extensions.FileProviders.Physical (18)
Microsoft.Extensions.Logging.Console (5)
Microsoft.Extensions.Logging.EventSource (2)
Microsoft.Extensions.ML (5)
Microsoft.Extensions.ML.Tests (1)
Microsoft.Extensions.Options (3)
Microsoft.Extensions.Options.ConfigurationExtensions (2)
Microsoft.Extensions.Primitives (22)
ChangeToken.cs (12)
25public static IDisposable OnChange(Func<IChangeToken?> changeTokenProducer, Action changeTokenConsumer)
44public static IDisposable OnChange<TState>(Func<IChangeToken?> changeTokenProducer, Action<TState> changeTokenConsumer, TState state)
63public static IDisposable OnChange(Func<IChangeToken?> changeTokenProducer, Func<Task> changeTokenConsumer)
83public static IDisposable OnChange<TState>(Func<IChangeToken?> changeTokenProducer, Func<TState, Task> changeTokenConsumer, TState state)
91private abstract class ChangeTokenRegistration<TState>(Func<IChangeToken?> changeTokenProducer, TState state) : IDisposable
99protected Func<IChangeToken?> ChangeTokenProducer { get; } = changeTokenProducer;
103protected void RegisterChangeTokenCallback(IChangeToken? token)
179public SyncChangeTokenRegistration(Func<IChangeToken?> changeTokenProducer, Action<TState> changeTokenConsumer, TState state)
194IChangeToken? token = ChangeTokenProducer();
212public AsyncChangeTokenRegistration(Func<IChangeToken?> changeTokenProducer, Func<TState, Task> changeTokenConsumer, TState state)
227IChangeToken? token = ChangeTokenProducer();
262private async Task AwaitConsumerAndRegisterCallback(Task consumerTask, IChangeToken? token)
Microsoft.Extensions.ServiceDiscovery (3)
Microsoft.Extensions.ServiceDiscovery.Abstractions (4)
Microsoft.Extensions.ServiceDiscovery.Tests (1)
Microsoft.Extensions.ServiceDiscovery.Yarp (3)