diff --git a/service/module.go b/service/module.go index 5b6faae..9fc38bb 100644 --- a/service/module.go +++ b/service/module.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/duanhf2012/origin/event" "github.com/duanhf2012/origin/log" + rpcHandle "github.com/duanhf2012/origin/rpc" "github.com/duanhf2012/origin/util/timer" "reflect" "time" @@ -31,6 +32,7 @@ type IModule interface { //1.管理各模块树层关系 //2.提供定时器常用工具 type Module struct { + rpcHandle.IRpcHandler moduleId int64 //模块Id moduleName string //模块名称 parent IModule //父亲 @@ -86,7 +88,7 @@ func (m *Module) AddModule(module IModule) (int64,error){ if ok == true { return 0,fmt.Errorf("Exists module id %d",module.GetModuleId()) } - + pAddModule.IRpcHandler = m.IRpcHandler pAddModule.self = module pAddModule.parent = m.self pAddModule.dispatcher = m.GetAncestor().getBaseModule().(*Module).dispatcher diff --git a/service/service.go b/service/service.go index ff45f33..130a2ca 100644 --- a/service/service.go +++ b/service/service.go @@ -34,7 +34,7 @@ type IService interface { type Service struct { Module - rpc.RpcHandler //rpc + rpcHandler rpc.RpcHandler //rpc name string //service name wg sync.WaitGroup serviceCfg interface{} @@ -60,7 +60,8 @@ func (s *Service) OpenProfiler() { func (s *Service) Init(iService IService,getClientFun rpc.FuncRpcClient,getServerFun rpc.FuncRpcServer,serviceCfg interface{}) { s.dispatcher =timer.NewDispatcher(timerDispatcherLen) - s.InitRpcHandler(iService.(rpc.IRpcHandler),getClientFun,getServerFun) + s.rpcHandler.InitRpcHandler(iService.(rpc.IRpcHandler),getClientFun,getServerFun) + s.IRpcHandler = s s.self = iService.(IModule) //初始化祖先 s.ancestor = iService.(IModule)