discovery/manager.go
func (m *Manager) Run() error {
	go m.sender()
	for range m.ctx.Done() {
		m.cancelDiscoverers()
		return m.ctx.Err()
	}
	return nil
}
func (m *Manager) Run() error {
	go m.sender()
	for range m.ctx.Done() {
		m.cancelDiscoverers()
		return m.ctx.Err()
	}
	return nil
}
func ( m * Manager ) Run ( ) error { go m . sender ( ) for range m . ctx . Done ( ) { m . cancelDiscoverers ( ) return m . ctx . Err ( ) } return nil }
// Run starts the background processing
Run starts the background processing