Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <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;
        }