public RabbitMQSubscription( IModel channel, RabbitMQChannelEventsHandler channelEvents, Action <byte[], IMessageContext> handler, RabbitMQConfiguration configuration, RabbitMQMessaging messaging, ILoggerFactory loggerFactory, params string[] queues) { this.channel = channel ?? throw new ArgumentNullException(nameof(channel)); this.channelEvents = channelEvents ?? throw new ArgumentNullException(nameof(channelEvents)); this.handler = handler ?? throw new ArgumentNullException(nameof(handler)); this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.messaging = messaging ?? throw new ArgumentNullException(nameof(messaging)); this.queues = queues ?? throw new ArgumentNullException(nameof(queues)); logger = loggerFactory?.CreateLogger <RabbitMQSubscription>() ?? throw new ArgumentNullException(nameof(loggerFactory)); consumersToQueues = new Dictionary <string, string>(); }
public RabbitMQPublisher( IModel channel, RabbitMQChannelEventsHandler channelEvents, uint timeout, RabbitMQMessaging messaging, ILoggerFactory loggerFactory) { this.channel = channel ?? throw new ArgumentNullException(nameof(channel)); this.channelEvents = channelEvents ?? throw new ArgumentNullException(nameof(channelEvents)); this.timeout = TimeSpan.FromMilliseconds(timeout); this.messaging = messaging ?? throw new ArgumentNullException(nameof(messaging)); logger = loggerFactory?.CreateLogger <RabbitMQPublisher>() ?? throw new ArgumentNullException(nameof(loggerFactory)); channel.ConfirmSelect(); }