Beispiel #1
0
        public async Task EndAsync()
        {
            Console.WriteLine("Gracefully shutting down...");
            if (_walletJob != null)
            {
                _walletJob.StateChanged -= _walletJob_StateChanged;
                _walletJob.Tracker.TrackedTransactions.CollectionChanged -= TrackedTransactions_CollectionChanged;
            }

            _cts.Cancel();
            await Task.WhenAll(_walletJobTask).ConfigureAwait(false);

            Tor.Kill();
        }
Beispiel #2
0
        public async Task EndAsync()
        {
            if (_endCalled)
            {
                return;
            }
            _endCalled = true;
            Console.WriteLine("Gracefully shutting down...");
            if (_walletJob != null)
            {
                _walletJob.StateChanged -= _walletJob_StateChanged;
                (await _walletJob.GetTrackerAsync()).TrackedTransactions.CollectionChanged -= TrackedTransactions_CollectionChangedAsync;
            }

            _cts.Cancel();
            await Task.WhenAll(_walletJobTask);

            Tor.Kill();

            _cts?.Dispose();
            _walletJobTask?.Dispose();
        }