protected override void ProcessEvent() { var channelGroup = _slaves.Channels["slave"]; var resolvedEvent = _message.Data; var position = _message.CheckpointTag; var streamId = TransformCatalogEvent(position, resolvedEvent); if (string.IsNullOrEmpty(streamId)) { CompleteProcessing(position); } else { _loadBalancer.ScheduleTask( streamId, (streamId_, workerIndex) => { var channel = channelGroup[workerIndex]; _spoolRequestId = _spoolProcessingResponseDispatcher.PublishSubscribe( channel.PublishEnvelope, new ReaderSubscriptionManagement.SpoolStreamReading( channel.SubscriptionId, _correlationId, streamId_, resolvedEvent.PositionSequenceNumber, _limitingCommitPosition), this); }); } }
protected override void ProcessEvent() { var channelGroup = _slaves.Channels["slave"]; var resolvedEvent = _message.Data; var streamId = SystemEventTypes.StreamReferenceEventToStreamId(resolvedEvent.EventType, resolvedEvent.Data); _loadBalancer.ScheduleTask( streamId, (streamId_, workerIndex) => { var channel = channelGroup[workerIndex]; _spoolRequestId = _spoolProcessingResponseDispatcher.PublishSubscribe( channel.PublishEnvelope, new ReaderSubscriptionManagement.SpoolStreamReading( channel.SubscriptionId, Guid.NewGuid(), streamId_, resolvedEvent.PositionSequenceNumber, _limitingCommitPosition), this); }); }