protected override void Dispose(bool disposing) { if (!Monitor.IsEntered(_disposeLock)) { return; } try { if (disposing && !_disposed) { _disposed = true; if (!CancelationToken.IsCancellationRequested) { CancelationToken.Cancel(); } } base.Dispose(disposing); } finally { Monitor.Exit(_disposeLock); } }
public void NewCancelationTokenNoCancelationRequested() { CancelationToken cancelationToken = new CancelationToken(); Assert.IsFalse(cancelationToken.IsCancelationRequested); TestHelper.Cleanup(); }
public void NewCancelationTokenCannotBeCanceled() { CancelationToken cancelationToken = new CancelationToken(); Assert.IsFalse(cancelationToken.CanBeCanceled); TestHelper.Cleanup(); }
public void Stop() { CancelationToken.Cancel(); foreach (var i in Connections) { i.Value.Stop(); } }
public void CancelationTokenFromSourceCannotBeCanceledAfterSourceIsDisposed() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Dispose(); Assert.IsFalse(cancelationToken.CanBeCanceled); TestHelper.Cleanup(); }
public void CancelationTokenFromSourceCanBeCanceled() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; Assert.IsTrue(cancelationToken.CanBeCanceled); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenNoCancelationRequestedBeforeCanceled() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; Assert.IsFalse(cancelationToken.IsCancelationRequested); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenValueTypeIsNull0() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel(); Assert.IsNull(cancelationToken.CancelationValueType); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenFromSourceCancelationIsNotRequestedAfterSourceIsDisposed1() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel("Cancel"); cancelationSource.Dispose(); Assert.IsFalse(cancelationToken.IsCancelationRequested); TestHelper.Cleanup(); }
public void CancelationTokenFromSourceCancelationIsRequested0() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel(); Assert.IsTrue(cancelationToken.IsCancelationRequested); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void RegistrationFromCancelationTokenIsRegistered0() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; CancelationRegistration cancelationRegistration = cancelationToken.Register(_ => { }); Assert.IsTrue(cancelationRegistration.IsRegistered); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenCancelationRequestedAfterCanceled1() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel("Canceled"); Assert.IsTrue(cancelationToken.IsCancelationRequested); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenValueTypeIsString() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel("Cancel"); Assert.IsTrue(cancelationToken.CancelationValueType == typeof(string)); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void RegistrationFromCancelationTokenIsNotRegisteredAfterSourceIsDisposed1() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; CancelationRegistration cancelationRegistration = cancelationToken.Register(0, (i, _) => { }); cancelationSource.Dispose(); Assert.IsFalse(cancelationRegistration.IsRegistered); TestHelper.Cleanup(); }
public void CancelationTokenValueIsNull1() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel(default(string)); Assert.IsNull(cancelationToken.CancelationValue); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenValueMatchesCancelValue() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; string cancelValue = "Cancel"; cancelationSource.Cancel(cancelValue); Assert.AreEqual(cancelValue, cancelationToken.CancelationValue); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenRegisterCaptureVariableMatches() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; string expected = "Captured"; cancelationToken.Register(expected, (cv, _) => Assert.AreEqual(expected, cv)); cancelationSource.Cancel(); cancelationSource.Dispose(); TestHelper.Cleanup(); }
private static void CheckCancelationToken() { try { CancelationToken.Dispose(); CancelationToken = new CancellationTokenSource(); } catch (ObjectDisposedException) { CancelationToken = new CancellationTokenSource(); } }
public async Task <HttpResponseMessage> GetAsync(string url, CancelationToken token) { var combinedCts = CancellationTokenSource.CreateLinkedTokenSource(token, _disposeCts.Token); var tokenToUse = combinedCts.Token; //... snipped code //Some spot where it would good to check if we have canceled yet. tokenToUse.ThrowIfCancellationRequested(); //... More snipped code; return(result); }
private Deferred(CancelationToken cancelationToken) { if (cancelationToken.CanBeCanceled) { _promise = InternalProtected.DeferredPromiseCancelVoid.GetOrCreate(cancelationToken); } else { _promise = InternalProtected.DeferredPromiseVoid.GetOrCreate(); } _id = _promise.Id; }
public void RegistrationFromCancelationTokenIsNotRegisteredAfterInvoked3() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; CancelationRegistration cancelationRegistration = new CancelationRegistration(); cancelationRegistration = cancelationToken.Register(0, (i, _) => Assert.IsFalse(cancelationRegistration.IsRegistered)); cancelationSource.Cancel(); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void RetainedCancelationTokenFromSourceCanBeCanceledAfterSourceIsDisposed() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationToken.Retain(); cancelationSource.Dispose(); Assert.IsTrue(cancelationToken.CanBeCanceled); cancelationToken.Release(); TestHelper.Cleanup(); }
public void CancelationTokenRegisterCallbackIsInvoked3() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; bool invoked = false; cancelationToken.Register(0, (i, _) => invoked = true); cancelationSource.Cancel("Cancel"); Assert.IsTrue(invoked); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenNullValueCannotBeGottenAsString1() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel(default(string)); string val; Assert.IsFalse(cancelationToken.TryGetCancelationValueAs(out val)); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenStringValueCanBeGottenAsString() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationSource.Cancel("Cancel"); string val; Assert.IsTrue(cancelationToken.TryGetCancelationValueAs(out val)); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public override void Close() { if (_closed) { return; } _closed = true; CancelationToken.Dispose(); TickScheduler.Close(); base.Close(); //OpenAPI.LevelManager.UnloadLevel(this); }
public void RegisteredCallbacksAreInvokedAfterSourceIsDisposed() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; bool invoked = false; // This should never be done in practice! cancelationToken.Register(_ => cancelationSource.Dispose()); cancelationToken.Register(_ => invoked = true); cancelationSource.Cancel(); Assert.IsTrue(invoked); TestHelper.Cleanup(); }
public void RegisteredCallbackExceptionPropagatesToCancelCaller() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; cancelationToken.Register(_ => { throw new Exception(); }); Assert.Throws <AggregateException>(cancelationSource.Cancel); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationRegistrationUnregisterCallbackIsNotInvoked0() { CancelationSource cancelationSource = CancelationSource.New(); CancelationToken cancelationToken = cancelationSource.Token; bool invoked = false; CancelationRegistration cancelationRegistration = cancelationToken.Register(_ => invoked = true); cancelationRegistration.Unregister(); cancelationSource.Cancel(); Assert.IsFalse(invoked); cancelationSource.Dispose(); TestHelper.Cleanup(); }
public void CancelationTokenInvalidOperations() { CancelationToken cancelationToken = new CancelationToken(); Assert.Throws <InvalidOperationException>(() => { var _ = cancelationToken.CancelationValue; }); Assert.Throws <InvalidOperationException>(() => { var _ = cancelationToken.CancelationValueType; }); Assert.Throws <InvalidOperationException>(() => { cancelationToken.Register(_ => { }); }); Assert.Throws <InvalidOperationException>(() => { cancelationToken.Register(1, (i, _) => { }); }); Assert.Throws <InvalidOperationException>(() => { string _; cancelationToken.TryGetCancelationValueAs(out _); }); Assert.Throws <InvalidOperationException>(cancelationToken.Retain); Assert.Throws <InvalidOperationException>(cancelationToken.Release); TestHelper.Cleanup(); }