async Task <IProcessingResult> HandleResult(IFilterResult result, CommittedEvent @event, PartitionId partitionId, CancellationToken cancellationToken) { _logger.HandleFilterResult(Identifier, Scope, @event.Type.Id, partitionId); if (!result.Succeeded) { _logger.FailedToFilterEvent(Identifier, Scope, @event.Type.Id); return(result); } if (!result.IsIncluded) { return(result); } _logger.FilteredEventIsIncluded(Identifier, Scope, @event.Type.Id, partitionId, Definition.TargetStream); try { await _eventsToStreamsWriter.Write(@event, Scope, Definition.TargetStream, result.Partition, cancellationToken).ConfigureAwait(false); return(result); } catch (Exception ex) { return(new FailedFiltering($"Failed to write filtered event to stream {ex}", true, TimeSpan.FromSeconds(10))); } }
Task HandleResult(IFilterResult result, CommittedEvent @event, PartitionId partitionId, CancellationToken cancellationToken) { _logger.Debug( "{LogMessagePrefix} filtered event '{EventTypeId}' for partition '{PartitionId}' with result 'Succeeded' = {result.Succeeded}", _logMessagePrefix, @event.Type.Id.Value, result.Succeeded); if (result.Succeeded && result.IsIncluded) { _logger.Debug( "{LogMessagePrefix} writing event '{EventTypeId}' to stream '{TargetStream}' in partition '{PartitionId}'", _logMessagePrefix, @event.Type.Id.Value, Definition.TargetStream, partitionId); return(_eventsToStreamsWriter.Write(@event, Scope, Definition.TargetStream, result.Partition, cancellationToken)); } return(Task.CompletedTask); }