Files
wehub-resource-sync b957a53def
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:21:23 +08:00

24 lines
710 B
C#

// Copyright (c) Microsoft. All rights reserved.
public class TurnManager : IDisposable
{
private int _currentTurnId = 0;
private CancellationTokenSource _cts = new();
private readonly object _lock = new();
public int CurrentTurnId { get { lock (this._lock) { return this._currentTurnId; } } }
public CancellationToken CurrentToken { get { lock (this._lock) { return this._cts.Token; } } }
public void Interrupt()
{
lock (this._lock)
{
this._currentTurnId++;
this._cts.Cancel();
this._cts.Dispose();
this._cts = new CancellationTokenSource();
}
}
public void Dispose() => this._cts?.Dispose();
}