public IEnumerable<Endpoint> LoadEndpoints(IHealthMonitorRegistry monitorRegistry)
 {
     using (var conn = _db.OpenConnection())
         return conn.Query<EndpointEntity>("select * from EndpointConfig")
             .Select(
                 e => new Endpoint(e.Id, monitorRegistry.FindByName(e.MonitorType), e.Address, e.Name, e.GroupName))
             .ToArray();
 }
 public MonitorDataExchange(IHealthMonitorRegistry registry, IHealthMonitorExchangeClient exchangeClient, IMonitorableEndpointRegistry monitorableEndpointRegistry, DataExchangeConfig config)
 {
     _config = config;
     _registry = registry;
     _exchangeClient = exchangeClient;
     _monitorableEndpointRegistry = monitorableEndpointRegistry;
     _outgoingQueue = new OutgoingQueue<EndpointHealthUpdate>(_config.OutgoingQueueMaxCapacity);
     _exchangeThread = new Thread(StartExchange) { Name = "Exchange" };
     _exchangeThread.Start();
 }
        public EndpointRegistry(IHealthMonitorRegistry healthMonitorRegistry, IEndpointConfigurationStore endpointConfigurationStore)
        {
            _healthMonitorRegistry = healthMonitorRegistry;
            _endpointConfigurationStore = endpointConfigurationStore;

            foreach (var endpoint in _endpointConfigurationStore.LoadEndpoints(healthMonitorRegistry))
            {
                if (_endpoints.TryAdd(GetKey(endpoint.MonitorType, endpoint.Address), endpoint))
                    _endpointsByGuid.TryAdd(endpoint.Id, endpoint);
            }
        }
 public MonitorableEndpointRegistry(IHealthMonitorRegistry healthMonitorRegistry)
 {
     _healthMonitorRegistry = healthMonitorRegistry;
 }
 public MonitorsController(IHealthMonitorRegistry healthMonitorRegistry)
 {
     _healthMonitorRegistry = healthMonitorRegistry;
 }