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);
        }
Esempio n. 3
0
        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);
            }
        }