Exemple #1
0
        Task IRCallbacks.Disconnected()
        {
            _isHostRunning = false;
            Disconnected?.Invoke(this, EventArgs.Empty);

            var currentRequest = Interlocked.Exchange(ref _currentRequestSource, null);
            var exception      = new RHostDisconnectedException();

            currentRequest?.TryCancel(exception);

            ClearPendingRequests(exception);
            return(Task.CompletedTask);
        }
Exemple #2
0
        async Task IRCallbacks.Disconnected()
        {
            _isHostRunning = false;
            var lockToken = await _initializationLock.ResetAsync();

            Disconnected?.Invoke(this, EventArgs.Empty);

            var currentRequest = Interlocked.Exchange(ref _currentRequestSource, null);
            var exception      = new RHostDisconnectedException();

            currentRequest?.TryCancel(exception);

            ClearPendingRequests(exception);
            lockToken.Reset();
        }
 private void WriteRHostDisconnectedError(RHostDisconnectedException exception)
 {
     WriteErrorLine(Environment.NewLine + exception.Message);
     WriteErrorLine(_sessionProvider.IsConnected ? Resources.RestartRHost : Resources.ReconnectToBroker);
 }