Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
            public void NewCancelationTokenNoCancelationRequested()
            {
                CancelationToken cancelationToken = new CancelationToken();

                Assert.IsFalse(cancelationToken.IsCancelationRequested);

                TestHelper.Cleanup();
            }
Exemplo n.º 3
0
            public void NewCancelationTokenCannotBeCanceled()
            {
                CancelationToken cancelationToken = new CancelationToken();

                Assert.IsFalse(cancelationToken.CanBeCanceled);

                TestHelper.Cleanup();
            }
Exemplo n.º 4
0
        public void Stop()
        {
            CancelationToken.Cancel();

            foreach (var i in Connections)
            {
                i.Value.Stop();
            }
        }
Exemplo n.º 5
0
            public void CancelationTokenFromSourceCannotBeCanceledAfterSourceIsDisposed()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Dispose();
                Assert.IsFalse(cancelationToken.CanBeCanceled);

                TestHelper.Cleanup();
            }
Exemplo n.º 6
0
            public void CancelationTokenFromSourceCanBeCanceled()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                Assert.IsTrue(cancelationToken.CanBeCanceled);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 7
0
            public void CancelationTokenNoCancelationRequestedBeforeCanceled()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                Assert.IsFalse(cancelationToken.IsCancelationRequested);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 8
0
            public void CancelationTokenValueTypeIsNull0()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Cancel();
                Assert.IsNull(cancelationToken.CancelationValueType);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 9
0
            public void CancelationTokenFromSourceCancelationIsNotRequestedAfterSourceIsDisposed1()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Cancel("Cancel");
                cancelationSource.Dispose();
                Assert.IsFalse(cancelationToken.IsCancelationRequested);

                TestHelper.Cleanup();
            }
Exemplo n.º 10
0
            public void CancelationTokenFromSourceCancelationIsRequested0()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Cancel();
                Assert.IsTrue(cancelationToken.IsCancelationRequested);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 11
0
            public void RegistrationFromCancelationTokenIsRegistered0()
            {
                CancelationSource       cancelationSource       = CancelationSource.New();
                CancelationToken        cancelationToken        = cancelationSource.Token;
                CancelationRegistration cancelationRegistration = cancelationToken.Register(_ => { });

                Assert.IsTrue(cancelationRegistration.IsRegistered);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 12
0
            public void CancelationTokenCancelationRequestedAfterCanceled1()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Cancel("Canceled");
                Assert.IsTrue(cancelationToken.IsCancelationRequested);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 13
0
            public void CancelationTokenValueTypeIsString()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Cancel("Cancel");
                Assert.IsTrue(cancelationToken.CancelationValueType == typeof(string));
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 14
0
            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();
            }
Exemplo n.º 15
0
            public void CancelationTokenValueIsNull1()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationSource.Cancel(default(string));
                Assert.IsNull(cancelationToken.CancelationValue);
                cancelationSource.Dispose();

                TestHelper.Cleanup();
            }
Exemplo n.º 16
0
            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();
            }
Exemplo n.º 17
0
            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();
            }
Exemplo n.º 18
0
 private static void CheckCancelationToken()
 {
     try
     {
         CancelationToken.Dispose();
         CancelationToken = new CancellationTokenSource();
     }
     catch (ObjectDisposedException)
     {
         CancelationToken = new CancellationTokenSource();
     }
 }
Exemplo n.º 19
0
    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);
    }
Exemplo n.º 20
0
 private Deferred(CancelationToken cancelationToken)
 {
     if (cancelationToken.CanBeCanceled)
     {
         _promise = InternalProtected.DeferredPromiseCancelVoid.GetOrCreate(cancelationToken);
     }
     else
     {
         _promise = InternalProtected.DeferredPromiseVoid.GetOrCreate();
     }
     _id = _promise.Id;
 }
Exemplo n.º 21
0
            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();
            }
Exemplo n.º 22
0
            public void RetainedCancelationTokenFromSourceCanBeCanceledAfterSourceIsDisposed()
            {
                CancelationSource cancelationSource = CancelationSource.New();
                CancelationToken  cancelationToken  = cancelationSource.Token;

                cancelationToken.Retain();
                cancelationSource.Dispose();
                Assert.IsTrue(cancelationToken.CanBeCanceled);
                cancelationToken.Release();

                TestHelper.Cleanup();
            }
Exemplo n.º 23
0
            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();
            }
Exemplo n.º 24
0
            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();
            }
Exemplo n.º 25
0
            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();
            }
Exemplo n.º 26
0
        public override void Close()
        {
            if (_closed)
            {
                return;
            }

            _closed = true;
            CancelationToken.Dispose();
            TickScheduler.Close();
            base.Close();

            //OpenAPI.LevelManager.UnloadLevel(this);
        }
Exemplo n.º 27
0
            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();
            }
Exemplo n.º 28
0
            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();
            }
Exemplo n.º 29
0
            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();
            }
Exemplo n.º 30
0
            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();
            }