예제 #1
0
 public ConsumerWorkerPool(
     IDependencyResolver dependencyResolver,
     ILogHandler logHandler,
     IMiddlewareExecutor middlewareExecutor,
     Factory <IDistributionStrategy> distributionStrategyFactory)
 {
     this.dependencyResolver          = dependencyResolver;
     this.logHandler                  = logHandler;
     this.middlewareExecutor          = middlewareExecutor;
     this.distributionStrategyFactory = distributionStrategyFactory;
 }
예제 #2
0
 public ConsumerWorker(
     IConsumer consumer,
     int workerId,
     IOffsetManager offsetManager,
     ILogHandler logHandler,
     IMiddlewareExecutor middlewareExecutor)
 {
     this.Id                 = workerId;
     this.consumer           = consumer;
     this.offsetManager      = offsetManager;
     this.logHandler         = logHandler;
     this.middlewareExecutor = middlewareExecutor;
     this.messagesBuffer     = Channel.CreateBounded <ConsumeResult <byte[], byte[]> >(consumer.Configuration.BufferSize);
 }
예제 #3
0
 public ConsumerWorker(
     IConsumerClient consumerClient,
     int workerId,
     ConsumerSetting configuration,
     IOffsetManager offsetManager,
     ILogHandler logHandler,
     IMiddlewareExecutor middlewareExecutor)
 {
     this.Id                 = workerId;
     this.consumerClient     = consumerClient;
     this.configuration      = configuration;
     this.offsetManager      = offsetManager;
     this.logHandler         = logHandler;
     this.middlewareExecutor = middlewareExecutor;
     this.messagesBuffer     = Channel.CreateBounded <IntermediateMessage>(configuration.BufferSize);
 }
예제 #4
0
        public ConsumerWorkerPool(
            IDependencyResolver dependencyResolver,
            ConsumerSetting configuration,
            ILogHandler logHandler)
        {
            this.dependencyResolver = dependencyResolver;
            this.configuration      = configuration;
            this.logHandler         = logHandler;

            var middlewares = configuration.MiddlewareConfiguration.Factories
                              .Select(factory => factory(dependencyResolver))
                              .ToList();

            this.middlewareExecutor          = new MiddlewareExecutor(middlewares);
            this.distributionStrategyFactory = configuration.DistributionStrategyFactory;
        }