public EndpointUpdateFrequencyGuard(IEndpointRegistry endpointRegistry, IContinuousTaskExecutor<Endpoint> taskExecutor, IMonitorSettings monitorSettings, ITimeCoordinator timeCoordinator) { _endpointRegistry = endpointRegistry; _taskExecutor = taskExecutor; _monitorSettings = monitorSettings; _timeCoordinator = timeCoordinator; _maxEndpointDelay = GetEndpointMaxUpdateDelay(); _endpointRegistry.EndpointAdded += AddEndpoint; foreach (var endpoint in _endpointRegistry.Endpoints) AddEndpoint(endpoint); }
public EndpointMonitor(IMonitorableEndpointRegistry monitorableEndpointRegistry, IHealthSampler sampler, IMonitorSettings settings, ITimeCoordinator timeCoordinator, IContinuousTaskExecutor<MonitorableEndpoint> executor) { _monitorableEndpointRegistry = monitorableEndpointRegistry; _sampler = sampler; _settings = settings; _timeCoordinator = timeCoordinator; _executor = executor; _monitorableEndpointRegistry.NewEndpointAdded += HandleNewEndpoint; foreach (var endpoint in _monitorableEndpointRegistry.Endpoints) _executor.TryRegisterTaskFor(endpoint, MonitorEndpointAsync); }
public EndpointUpdateFrequencyGuard(IEndpointRegistry endpointRegistry, IContinuousTaskExecutor <Endpoint> taskExecutor, IMonitorSettings monitorSettings, ITimeCoordinator timeCoordinator) { _endpointRegistry = endpointRegistry; _taskExecutor = taskExecutor; _monitorSettings = monitorSettings; _timeCoordinator = timeCoordinator; _maxEndpointDelay = GetEndpointMaxUpdateDelay(); _endpointRegistry.EndpointAdded += AddEndpoint; foreach (var endpoint in _endpointRegistry.Endpoints) { AddEndpoint(endpoint); } }
public EndpointMonitor(IMonitorableEndpointRegistry monitorableEndpointRegistry, IHealthSampler sampler, IMonitorSettings settings, ITimeCoordinator timeCoordinator, IContinuousTaskExecutor <MonitorableEndpoint> executor) { _monitorableEndpointRegistry = monitorableEndpointRegistry; _sampler = sampler; _settings = settings; _timeCoordinator = timeCoordinator; _executor = executor; _monitorableEndpointRegistry.NewEndpointAdded += HandleNewEndpoint; foreach (var endpoint in _monitorableEndpointRegistry.Endpoints) { _executor.TryRegisterTaskFor(endpoint, MonitorEndpointAsync); } }