ing
This commit is contained in:
@@ -1,25 +1,29 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
|
||||
cdr "git.loafle.net/commons_go/di/registry"
|
||||
"git.loafle.net/commons_go/logging"
|
||||
crr "git.loafle.net/commons_go/rpc/registry"
|
||||
"git.loafle.net/commons_go/server"
|
||||
oodca "git.loafle.net/overflow/overflow_discovery/commons/annotation"
|
||||
ooca "git.loafle.net/overflow/overflow_commons_go/annotation"
|
||||
oods "git.loafle.net/overflow/overflow_discovery/service"
|
||||
oopcs "git.loafle.net/overflow/overflow_probe_container/server"
|
||||
oopcService "git.loafle.net/overflow/overflow_probe_container/service"
|
||||
)
|
||||
|
||||
func New(pidPath string) server.Server {
|
||||
var (
|
||||
services []interface{}
|
||||
err error
|
||||
services []interface{}
|
||||
probeService *oopcService.ProbeService
|
||||
err error
|
||||
)
|
||||
oods.InitService()
|
||||
|
||||
rpcRegistry := crr.NewRPCRegistry()
|
||||
|
||||
if services, err = cdr.GetInstancesByAnnotationName(oodca.ServiceTag); nil != err {
|
||||
if services, err = cdr.GetInstancesByAnnotationName(ooca.ServiceTag); nil != err {
|
||||
logging.Logger().Panic(err)
|
||||
}
|
||||
|
||||
@@ -27,8 +31,14 @@ func New(pidPath string) server.Server {
|
||||
rpcRegistry.RegisterService(s, "")
|
||||
}
|
||||
|
||||
if _probeService, err := cdr.GetInstance(reflect.TypeOf((*oopcService.ProbeService)(nil))); nil != err {
|
||||
logging.Logger().Panic(err)
|
||||
} else {
|
||||
probeService = _probeService.(*oopcService.ProbeService)
|
||||
}
|
||||
|
||||
rpcSH := oopcs.NewRPCServletHandler(rpcRegistry)
|
||||
socketHandler := newSocketHandler(rpcSH)
|
||||
socketHandler := newSocketHandler(rpcSH, probeService)
|
||||
|
||||
sh := newServerHandler(pidPath, socketHandler)
|
||||
s := oopcs.New(sh)
|
||||
|
||||
@@ -3,16 +3,14 @@ package server
|
||||
import (
|
||||
"net"
|
||||
|
||||
cRPC "git.loafle.net/commons_go/rpc"
|
||||
"git.loafle.net/commons_go/server"
|
||||
"git.loafle.net/overflow/overflow_discovery/discovery"
|
||||
oopc "git.loafle.net/overflow/overflow_probe_container"
|
||||
oopcs "git.loafle.net/overflow/overflow_probe_container/server"
|
||||
oopcService "git.loafle.net/overflow/overflow_probe_container/service"
|
||||
)
|
||||
|
||||
func newSocketHandler(rpcSH oopcs.RPCServletHandler) SocketHandler {
|
||||
func newSocketHandler(rpcSH oopcs.RPCServletHandler, probeService *oopcService.ProbeService) SocketHandler {
|
||||
sh := &SocketHandlers{}
|
||||
sh.SocketHandler = oopcs.NewSocketHandler(rpcSH)
|
||||
sh.SocketHandler = oopcs.NewSocketHandler(rpcSH, probeService)
|
||||
|
||||
return sh
|
||||
}
|
||||
@@ -36,11 +34,9 @@ func (sh *SocketHandlers) Handshake(socketCTX server.SocketContext, conn net.Con
|
||||
func (sh *SocketHandlers) OnConnect(soc server.Socket) {
|
||||
sh.SocketHandler.OnConnect(soc)
|
||||
|
||||
discovery.RPCServlet = soc.Context().GetAttribute(oopc.RPCServletKey).(cRPC.Servlet)
|
||||
}
|
||||
|
||||
func (sh *SocketHandlers) OnDisconnect(soc server.Socket) {
|
||||
discovery.RPCServlet = nil
|
||||
|
||||
sh.SocketHandler.OnDisconnect(soc)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user