public RabbitMqAdapter(RabbitMqStreamProviderOptions options, SerializationManager serializationManager, IStreamQueueMapper mapper, string providerName, Logger logger) { _serializationManager = serializationManager; _mapper = mapper; Name = providerName; _rmqConnectorFactory = new RabbitMqOnlineConnectorFactory(options, logger); _cacheFillingTimeout = options.CacheFillingTimeout; }
public void Init(IProviderConfiguration config, string providerName, Logger logger, IServiceProvider serviceProvider) { if (config == null) { throw new ArgumentNullException(nameof(config)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (string.IsNullOrEmpty(providerName)) { throw new ArgumentNullException(nameof(providerName)); } _options = new RabbitMqStreamProviderOptions(config); _providerName = providerName; _cache = new ConcurrentQueueAdapterCache(_options.CacheSize); _mapper = new HashRingBasedStreamQueueMapper(_options.NumberOfQueues, _options.QueueNamePrefix); _failureHandler = Task.FromResult <IStreamFailureHandler>(new NoOpStreamDeliveryFailureHandler(false)); _adapter = new RabbitMqAdapter(_options, serviceProvider.GetRequiredService <SerializationManager>(), _mapper, _providerName, logger); }