lampac/Lampac/Engine/DynamicActionDescriptorChangeProvider.cs
lampac-talks f843f04fd4 chore: initial commit 154.3
Signed-off-by: lampac-talks <lampac-talks@users.noreply.github.com>
2026-01-30 16:23:09 +03:00

23 lines
800 B
C#

using Microsoft.AspNetCore.Mvc.Infrastructure;
using Microsoft.Extensions.Primitives;
using System.Threading;
namespace Lampac.Engine
{
public class DynamicActionDescriptorChangeProvider : IActionDescriptorChangeProvider
{
public static DynamicActionDescriptorChangeProvider Instance { get; } = new DynamicActionDescriptorChangeProvider();
private CancellationTokenSource tokenSource = new CancellationTokenSource();
public CancellationTokenSource TokenSource => tokenSource;
public IChangeToken GetChangeToken() => new CancellationChangeToken(tokenSource.Token);
public void NotifyChanges()
{
var previous = Interlocked.Exchange(ref tokenSource, new CancellationTokenSource());
previous.Cancel();
}
}
}