45 lines
979 B
Go
45 lines
979 B
Go
package discovery
|
|
|
|
import (
|
|
"encoding/json"
|
|
"git.loafle.net/overflow/overflow_service/proxy/meta"
|
|
"git.loafle.net/overflow/overflow_service/proxy/probe"
|
|
)
|
|
|
|
type Discovery struct {
|
|
StartIp int64 `json:"startIp,omitempty"`
|
|
EndIp int64 `json:"endIp,omitempty"`
|
|
StartPort int `json:"startPort,omitempty"`
|
|
EndPort int `json:"endPort,omitempty"`
|
|
ExcludeIp []int64 `json:"excludeIp,omitempty"`
|
|
Probe *probe.Probe `json:"probe,omitempty"`
|
|
}
|
|
|
|
type DiscoveryService struct {
|
|
}
|
|
|
|
func NewDiscoveryService() *DiscoveryService {
|
|
return &DiscoveryService{}
|
|
}
|
|
|
|
func (dis *DiscoveryService) Discovery(d *Discovery) (string, error) {
|
|
|
|
pts := probe.NewProbeTaskService()
|
|
|
|
bytes, err := json.Marshal(d)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
pt := probe.NewProbeTask(meta.NewMetaProbeTaskType(meta.PROBE_TASK_TYPE_DISOCVERY), string(bytes), d.Probe)
|
|
|
|
out, err := pts.Regist(pt)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return out, nil
|
|
}
|