public ConnectedProjection(
            Func <Owned <TContext> > contextFactory,
            TConnectedProjection connectedProjection,
            EnvelopeFactory envelopeFactory,
            ILoggerFactory loggerFactory)
        {
            ContextFactory = contextFactory ?? throw new ArgumentNullException(nameof(contextFactory));

            ConnectedProjectionMessageHandler = new ConnectedProjectionMessageHandler <TContext>(
                Name,
                connectedProjection?.Handlers ?? throw new ArgumentNullException(nameof(connectedProjection)),
                ContextFactory,
                envelopeFactory ?? throw new ArgumentNullException(nameof(envelopeFactory)),
                loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory)));
        }
Example #2
0
 public ConnectedProjectionCatchUp(
     ConnectedProjectionName name,
     IReadonlyStreamStore streamStore,
     Func <Owned <TContext> > contextFactory,
     ConnectedProjectionMessageHandler <TContext> messageHandler,
     IConnectedProjectionsCommandBus commandBus,
     ILogger logger)
 {
     _runnerName     = name ?? throw new ArgumentNullException(nameof(name));
     _streamStore    = streamStore ?? throw new ArgumentNullException(nameof(streamStore));
     _contextFactory = contextFactory ?? throw new ArgumentNullException(nameof(contextFactory));
     _messageHandler = messageHandler ?? throw new ArgumentNullException(nameof(messageHandler));
     _commandBus     = commandBus ?? throw new ArgumentNullException(nameof(commandBus));
     _logger         = logger ?? throw new ArgumentNullException(nameof(logger));
 }