using System.Threading; namespace SKMC.Api.Common.Tasks { public class TaskToken { public CancellationTokenSource TokenSource { get; set; } = new CancellationTokenSource(); public CancellationToken Token { get; set; } public ManualResetEvent ResetEvent { get; set; } = new ManualResetEvent(true); public TaskToken() { Token = TokenSource.Token; } public void SetWaitPoint() { ResetEvent.WaitOne(); } } }