ing
This commit is contained in:
@@ -4,6 +4,9 @@ import (
|
||||
"log"
|
||||
"reflect"
|
||||
|
||||
"git.loafle.net/overflow_scanner/probe/internal/pubsub"
|
||||
"git.loafle.net/overflow_scanner/probe/internal/rpc"
|
||||
|
||||
oa "git.loafle.net/overflow/annotation-go"
|
||||
od "git.loafle.net/overflow/di-go"
|
||||
omd "git.loafle.net/overflow/model/discovery"
|
||||
@@ -21,6 +24,7 @@ type DiscoveryService struct {
|
||||
oa.TypeAnnotation `annotation:"@Injectable('name': 'DiscoveryService') @Service()"`
|
||||
|
||||
Discoverer discovery.Discoverer `annotation:"@Inject('name': 'Discoverer')"`
|
||||
PubSub *pubsub.PubSub `annotation:"@Inject('name': 'PubSub')"`
|
||||
|
||||
_InitService oa.MethodAnnotation `annotation:"@PostConstruct()"`
|
||||
_DestroyService oa.MethodAnnotation `annotation:"@PreDestroy()"`
|
||||
@@ -35,26 +39,99 @@ func (s *DiscoveryService) InitService() {
|
||||
return
|
||||
}
|
||||
|
||||
switch msg.Type() {
|
||||
request, messageType, data, err := msg()
|
||||
|
||||
switch messageType {
|
||||
case types.DiscoveryMessageTypeStart:
|
||||
log.Print("Start ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.DiscoveryStart",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Start ", data)
|
||||
case types.DiscoveryMessageTypeStop:
|
||||
log.Print("Stop ", msg.Data())
|
||||
return
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.DiscoveryStop",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Stop ", data)
|
||||
case types.DiscoveryMessageTypeQueueing:
|
||||
log.Print("Queueing ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.Queueing",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Queueing ", data)
|
||||
case types.DiscoveryMessageTypeFailedQueueing:
|
||||
log.Print("FailedQueueing ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.FailedQueueing",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("FailedQueueing ", data)
|
||||
case types.DiscoveryMessageTypeTimeout:
|
||||
log.Print("Timeout ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.Timeout",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Timeout ", data)
|
||||
case types.DiscoveryMessageTypeError:
|
||||
log.Print("Error ", msg.Error())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.Error",
|
||||
[]interface{}{err},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Error ", err)
|
||||
case types.DiscoveryMessageTypeHost:
|
||||
log.Print("Host ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.DiscoveredHost",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Host ", data)
|
||||
case types.DiscoveryMessageTypePort:
|
||||
log.Print("Port ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.DiscoveredPort",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Port ", data)
|
||||
case types.DiscoveryMessageTypeService:
|
||||
log.Print("Service ", msg.Data())
|
||||
s.PubSub.Pub(
|
||||
rpc.MakeRPCMessage(
|
||||
[]string{request.RequesterID()},
|
||||
"DiscoveryService.DiscoveredService",
|
||||
[]interface{}{data},
|
||||
),
|
||||
"/scanner",
|
||||
)
|
||||
log.Print("Service ", data)
|
||||
default:
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user