// NewEndpointsConfig creates a new EndpointsConfig. // It immediately runs the created EndpointsConfig. func NewEndpointsConfig() *EndpointsConfig { updates := make(chan struct{}) store := &endpointsStore{updates: updates, endpoints: make(map[string]map[string]api.Endpoints)} mux := config.NewMux(store) watcher := config.NewWatcher() go watchForUpdates(watcher, store, updates) return &EndpointsConfig{mux, watcher, store} }
// NewServiceConfig creates a new ServiceConfig. // It immediately runs the created ServiceConfig. func NewServiceConfig() *ServiceConfig { updates := make(chan struct{}) store := &serviceStore{updates: updates, services: make(map[string]map[string]api.Service)} mux := config.NewMux(store) watcher := config.NewWatcher() go watchForUpdates(watcher, store, updates) return &ServiceConfig{mux, watcher, store} }