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); }
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); }