package discoverer import ( "fmt" "net" ocmd "git.loafle.net/overflow/commons-go/model/discovery" "git.loafle.net/overflow/container_discovery/internal/discoverer/ipv4" "git.loafle.net/overflow/container_discovery/internal/discoverer/ipv6" ) func scanService(port *ocmd.Port, ds *ocmd.DiscoverService, resultChan chan interface{}, errChan chan error, doneChan chan<- struct{}, stopChan chan struct{}) { defer func() { doneChan <- struct{}{} }() _, ipNet, err := net.ParseCIDR(port.Host.Zone.Network) if nil != err { errChan <- err return } switch len(ipNet.IP) { case net.IPv4len: ipv4.ScanService(port, ds, resultChan, errChan, stopChan) case net.IPv6len: ipv6.ScanService(port, ds, resultChan, errChan, stopChan) default: errChan <- fmt.Errorf("Discovery: Not supported ip length") return } }