/// <summary> /// Initializes a new instance of the <see cref="WorkerHeartBeatNotificationFactory" /> class. /// </summary> /// <param name="container">The container.</param> /// <param name="configuration">The configuration.</param> public WorkerHeartBeatNotificationFactory(IContainerFactory container, IHeartBeatConfiguration configuration) { Guard.NotNull(() => container, container); Guard.NotNull(() => configuration, configuration); _container = container; _configuration = configuration; }
/// <summary> /// Initializes a new instance of the <see cref="HeartBeatWorker" /> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="context">The context.</param> /// <param name="sendHeartBeat">The send heart beat.</param> /// <param name="threadPool">The thread pool.</param> /// <param name="log">The log.</param> /// <param name="heartBeatNotificationFactory">The heart beat notification factory.</param> public HeartBeatWorker(IHeartBeatConfiguration configuration, IMessageContext context, ISendHeartBeat sendHeartBeat, IHeartBeatThreadPool threadPool, ILogFactory log, IWorkerHeartBeatNotificationFactory heartBeatNotificationFactory) { Guard.NotNull(() => configuration, configuration); Guard.NotNull(() => context, context); Guard.NotNull(() => sendHeartBeat, sendHeartBeat); Guard.NotNull(() => threadPool, threadPool); Guard.NotNull(() => log, log); Guard.NotNull(() => heartBeatNotificationFactory, heartBeatNotificationFactory); _context = context; _checkTimespan = configuration.CheckTime; _sendHeartbeat = sendHeartBeat; _smartThreadPool = threadPool; _logger = log.Create(); _runningLock = new ReaderWriterLockSlim(); _stoppedLock = new ReaderWriterLockSlim(); _cancel = new CancellationTokenSource(); context.WorkerNotification.HeartBeat = heartBeatNotificationFactory.Create(_cancel.Token); }
/// <summary> /// Initializes a new instance of the <see cref="QueueMonitor" /> class. /// </summary> /// <param name="clearMessagesFactory">The clear messages factory.</param> /// <param name="heartBeatFactory">The heart beat factory.</param> /// <param name="heartBeatConfiguration">The heart beat configuration.</param> /// <param name="expirationConfiguration">The expiration configuration.</param> public QueueMonitor(IClearExpiredMessagesMonitor clearMessagesFactory, IHeartBeatMonitor heartBeatFactory, IHeartBeatConfiguration heartBeatConfiguration, IMessageExpirationConfiguration expirationConfiguration) { Guard.NotNull(() => clearMessagesFactory, clearMessagesFactory); Guard.NotNull(() => heartBeatFactory, heartBeatFactory); Guard.NotNull(() => heartBeatConfiguration, heartBeatConfiguration); Guard.NotNull(() => expirationConfiguration, expirationConfiguration); _heartBeatConfiguration = heartBeatConfiguration; _heartBeatFactory = heartBeatFactory; _clearMessagesFactory = clearMessagesFactory; _expirationConfiguration = expirationConfiguration; _monitors = new List<IMonitor>(2); }
/// <summary> /// Initializes a new instance of the <see cref="QueueConsumerConfiguration" /> class. /// </summary> /// <param name="transportConfiguration">The transport configuration.</param> /// <param name="workerConfiguration">The worker configuration.</param> /// <param name="heartBeatConfiguration">The heart beat configuration.</param> /// <param name="messageExpirationConfiguration">The message expiration configuration.</param> /// <param name="headers">The headers.</param> /// <param name="additionalConfiguration">The additional configuration.</param> /// <param name="timeConfiguration">The time configuration.</param> public QueueConsumerConfiguration(TransportConfigurationReceive transportConfiguration, IWorkerConfiguration workerConfiguration, IHeartBeatConfiguration heartBeatConfiguration, IMessageExpirationConfiguration messageExpirationConfiguration, IHeaders headers, IConfiguration additionalConfiguration, BaseTimeConfiguration timeConfiguration) : base(transportConfiguration, headers, additionalConfiguration, timeConfiguration) { Guard.NotNull(() => workerConfiguration, workerConfiguration); Guard.NotNull(() => heartBeatConfiguration, heartBeatConfiguration); Guard.NotNull(() => messageExpirationConfiguration, messageExpirationConfiguration); Worker = workerConfiguration; HeartBeat = heartBeatConfiguration; MessageExpiration = messageExpirationConfiguration; _routes = new List<string>(); }
/// <summary> /// Initializes a new instance of the <see cref="HeartBeatWorkerFactory" /> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="sendHeartBeat">The send heart beat module.</param> /// <param name="threadPool">The thread pool.</param> /// <param name="logFactory">The log factory.</param> /// <param name="heartBeatNotificationFactory">The heart beat notification factory.</param> public HeartBeatWorkerFactory(IHeartBeatConfiguration configuration, ISendHeartBeat sendHeartBeat, IHeartBeatThreadPoolFactory threadPool, ILogFactory logFactory, IWorkerHeartBeatNotificationFactory heartBeatNotificationFactory) { Guard.NotNull(() => configuration, configuration); Guard.NotNull(() => sendHeartBeat, sendHeartBeat); Guard.NotNull(() => threadPool, threadPool); Guard.NotNull(() => logFactory, logFactory); Guard.NotNull(() => heartBeatNotificationFactory, heartBeatNotificationFactory); _configuration = configuration; _sendHeartBeat = sendHeartBeat; _threadPool = threadPool; _logFactory = logFactory; _heartBeatNotificationFactory = heartBeatNotificationFactory; }
/// <summary> /// Initializes a new instance of the <see cref="HeartBeatMonitor" /> class. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="resetHeartBeat">The reset heart beat module.</param> /// <param name="log">The log.</param> public HeartBeatMonitor(IHeartBeatConfiguration configuration, IResetHeartBeat resetHeartBeat, ILogFactory log): base(Guard.NotNull(() => resetHeartBeat, resetHeartBeat).Reset, configuration, log) { }