public PostgreSqlEventStorage(IOptions <PostgreSqlOptions> postgreSqlOptions, IOptions <PoleEventBusOption> producerOptions, IEventStorageInitializer eventStorageInitializer)
 {
     this.producerOptions         = producerOptions.Value;
     this.options                 = postgreSqlOptions.Value;
     this.eventStorageInitializer = eventStorageInitializer;
     tableName = eventStorageInitializer.GetTableName();
 }
 public PrometheusFailedEventGaugeProcessor(
     ILogger <PrometheusFailedEventGaugeProcessor> logger,
     IEventStorage eventstorage,
     IOptions <PoleEventBusOption> poleOptions)
 {
     this.logger       = logger;
     this.eventstorage = eventstorage;
     this.poleOptions  = poleOptions.Value;
 }
 public ExpiredEventsCollectorProcessor(
     ILogger <ExpiredEventsCollectorProcessor> logger,
     IEventStorageInitializer initializer,
     IEventStorage eventstorage,
     IOptions <PoleEventBusOption> poleOptions)
 {
     this.logger       = logger;
     this.initializer  = initializer;
     this.eventstorage = eventstorage;
     this.poleOptions  = poleOptions.Value;
 }
 public PendingMessageRetryProcessor(IEventStorage eventStorage, IOptions <PoleEventBusOption> options, ILogger <PendingMessageRetryProcessor> logger,
                                     IProducerInfoContainer producerContainer, ISerializer serializer, IProducer producer, IEventBuffer eventBuffer)
 {
     this.eventStorage      = eventStorage;
     this.options           = options.Value ?? throw new Exception($"{nameof(PoleEventBusOption)} Must be injected");
     this.logger            = logger;
     this.producerContainer = producerContainer;
     this.serializer        = serializer;
     this.producer          = producer;
     this.eventBuffer       = eventBuffer;
 }