/// <summary> /// Initializes a new instance of the <see cref="MqConsumer{TMessage}" /> class. /// </summary> /// <param name="acknowledger">message acknowledger</param> /// <param name="protocol">protocol to decode the messages</param> /// <param name="consumer">injected consumer implementation</param> /// <param name="logger">injected logger</param> protected MqConsumer(IBasicAcknowledger acknowledger, IMessageProtocol <TMessage> protocol, IBasicConsumer consumer, ILogger logger) : base(acknowledger, consumer, logger) { Arguments.NotNull(acknowledger, nameof(acknowledger)); Arguments.NotNull(protocol, nameof(protocol)); Arguments.NotNull(consumer, nameof(consumer)); Arguments.NotNull(logger, nameof(logger)); this.protocol = protocol; }
/// <summary> /// Initializes a new instance of the <see cref="BaseMqConsumer" /> class. /// </summary> /// <param name="acknowledger">message acknowledger</param> /// <param name="consumer">consumer implementation</param> /// <param name="logger">injected logger</param> protected BaseMqConsumer(IBasicAcknowledger acknowledger, IBasicConsumer consumer, ILogger logger) : base(logger) { acknowledger = Arguments.EnsureNotNull(acknowledger, nameof(acknowledger)); consumer = Arguments.EnsureNotNull(consumer, nameof(consumer)); this.Acknowledger = acknowledger; this.consumer = consumer; this.consumer.OnDelivery += this.OnDelivery; }
/// <summary> /// Initializes a new instance of the <see cref="ActionConsumer{TMessage}"/> class. /// </summary> /// <param name="action">callback for message handling</param> /// <param name="acknowledger">injected plugin for message acking</param> /// <param name="protocol">message protcol</param> /// <param name="consumer">injected plugin for consuming</param> /// <param name="logger">injected logger</param> public ActionConsumer(Action <TMessage> action, IBasicAcknowledger acknowledger, IMessageProtocol <TMessage> protocol, IBasicConsumer consumer, ILogger logger) : base(acknowledger, protocol, consumer, logger) { Arguments.NotNull(action, nameof(action)); Arguments.NotNull(acknowledger, nameof(acknowledger)); Arguments.NotNull(protocol, nameof(protocol)); Arguments.NotNull(consumer, nameof(consumer)); Arguments.NotNull(logger, nameof(logger)); this.action = action; }