package net type Discoverer interface { } type discovery struct { } func NewDiscoverer() Discoverer { d := &discovery{} return d } func (d *discovery) Discover() { } func (d *discovery) DiscoverZone(dzc *DiscoveryZoneConfig) { zs := newZoneScan(dzc) defer func() { zs.Close() }() go scanZone(zs) Loop: for { select { case zone := <-zs.zoneChan: case err := <-zs.logChan: case <-zs.endChan: break Loop } } } func (d *discovery) DiscoverHost() { } func (d *discovery) DiscoverPort() { } func (d *discovery) DiscoverService() { }