protected override void CalculateState() { if (_stateManager.IsFinalState()) { return; } if (ExecutorState == ExecutorState.Faulted) { _stateManager.SetState(ReaderState.Faulted); return; } switch (ChannelState) { case ChannelState.ClosedByServer: case ChannelState.Disconnected: _stateManager.SetState(ReaderState.Disconnected); _ = _reader.EstablishNewChannel(CancellationTokenSource.Token); return; case ChannelState.Connected: _stateManager.SetState(ReaderState.Connected); return; case ChannelState.ReachedEndOfTopic: _stateManager.SetState(ReaderState.ReachedEndOfTopic); return; } }
protected override void CalculateState() { if (_stateManager.IsFinalState()) { return; } if (ExecutorState == ExecutorState.Faulted) { _stateManager.SetState(ConsumerState.Faulted); return; } switch (ChannelState) { case ChannelState.Active: _stateManager.SetState(ConsumerState.Active); return; case ChannelState.Inactive: _stateManager.SetState(ConsumerState.Inactive); return; case ChannelState.ClosedByServer: case ChannelState.Disconnected: _stateManager.SetState(ConsumerState.Disconnected); _ = _consumer.EstablishNewChannel(CancellationTokenSource.Token); return; case ChannelState.Connected: if (!_isFailoverSubscription) { _stateManager.SetState(ConsumerState.Active); } return; case ChannelState.ReachedEndOfTopic: _stateManager.SetState(ConsumerState.ReachedEndOfTopic); return; case ChannelState.Unsubscribed: _stateManager.SetState(ConsumerState.Unsubscribed); return; } }