public void Handle(ProjectionMessage.Projections.CommittedEventReceived message) { EnsureState( State.Running | State.Paused | State.Stopping | State.Stopped | State.FaultedStopping | State.Faulted); try { if (_state == State.Running || _state == State.Paused) { CheckpointTag eventTag = message.CheckpointTag; string partition = _checkpointStrategy.StatePartitionSelector.GetStatePartition(message); var committedEventWorkItem = new CommittedEventWorkItem(this, message, partition); _processingQueue.EnqueueTask(committedEventWorkItem, eventTag); } _processingQueue.ProcessEvent(); } catch (Exception ex) { SetFaulted(ex); } }
public void ProcessEvent() { _processingQueue.ProcessEvent(); }