/// <summary>
        /// Initializes a new instance of the <see cref="WorkerNotification" /> class.
        /// </summary>
        /// <param name="headerNames">The header names.</param>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="configuration">The configuration.</param>
        /// <param name="log">The log.</param>
        /// <param name="metrics">The metrics factory.</param>
        public WorkerNotification(IHeaders headerNames,
                                  IQueueCancelWork cancelWork,
                                  TransportConfigurationReceive configuration,
                                  ILogFactory log,
                                  IMetrics metrics)
        {
            Guard.NotNull(() => headerNames, headerNames);
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => configuration, configuration);
            Guard.NotNull(() => log, log);
            Guard.NotNull(() => metrics, metrics);

            HeaderNames               = headerNames;
            WorkerStopping            = cancelWork;
            TransportSupportsRollback = configuration.MessageRollbackSupported;
            Log     = log.Create();
            Metrics = metrics;
        }
Пример #2
0
        /// <summary>Initializes a new instance of the <see cref="WorkerNotification"/> class.</summary>
        /// <param name="headerNames">The header names.</param>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="configuration">The configuration.</param>
        /// <param name="log">The log.</param>
        /// <param name="metrics">The metrics factory.</param>
        /// <param name="tracer">The tracer.</param>
        public WorkerNotification(IHeaders headerNames,
                                  IQueueCancelWork cancelWork,
                                  TransportConfigurationReceive configuration,
                                  ILogger log,
                                  IMetrics metrics,
                                  ActivitySource tracer)
        {
            Guard.NotNull(() => headerNames, headerNames);
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => configuration, configuration);
            Guard.NotNull(() => log, log);
            Guard.NotNull(() => metrics, metrics);
            Guard.NotNull(() => tracer, tracer);

            HeaderNames               = headerNames;
            WorkerStopping            = cancelWork;
            TransportSupportsRollback = configuration.MessageRollbackSupported;
            Log     = log;
            Metrics = metrics;
            Tracer  = tracer;
        }