overflow_service/proxy/discovery/discovery_service.go
2017-06-27 09:08:47 +09:00

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
}