From 20bfffeb3e2a6e42a78cea71e6c1e396c7996c92 Mon Sep 17 00:00:00 2001 From: boyce Date: Fri, 1 Feb 2019 13:50:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4orgin=E7=BB=93=E7=82=B9?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E4=B8=8E=E5=A2=9E=E5=8A=A0=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Test/main.go | 18 ++++++++++++------ originnode/global.go | 25 +++++++++++++++++++++++++ server/server.go => originnode/node.go | 16 ++++++++-------- service/Service.go | 14 +++++++------- 4 files changed, 52 insertions(+), 21 deletions(-) create mode 100644 originnode/global.go rename server/server.go => originnode/node.go (86%) diff --git a/Test/main.go b/Test/main.go index 07140a5..2796f54 100644 --- a/Test/main.go +++ b/Test/main.go @@ -10,7 +10,7 @@ import ( "github.com/duanhf2012/origin/cluster" "github.com/duanhf2012/origin/network" - "github.com/duanhf2012/origin/server" + "github.com/duanhf2012/origin/originnode" "github.com/duanhf2012/origin/service" "github.com/duanhf2012/origin/sysservice" @@ -123,17 +123,23 @@ func (ws *CTest) OnDestory() error { } func main() { - server := server.NewServer() - if server == nil { + node := originnode.NewOrginNode() + if node == nil { return } + var module CTestModule + module.SetModuleType(1) + originnode.AddModule(&module) + ptest := originnode.GetModuleByType(1) + fmt.Print(ptest) + var receiver CMessageReceiver wsservice := sysservice.NewWSServerService("/ws", 1314, &receiver, false) test := NewCTest(0) httpserver := sysservice.NewHttpServerService(9120) - server.SetupService(test, httpserver, wsservice) + node.SetupService(test, httpserver, wsservice) - server.Init() - server.Start() + node.Init() + node.Start() } diff --git a/originnode/global.go b/originnode/global.go new file mode 100644 index 0000000..5eb19a8 --- /dev/null +++ b/originnode/global.go @@ -0,0 +1,25 @@ +package originnode + +import ( + _ "net/http/pprof" + + "github.com/duanhf2012/origin/service" +) + +type GlobalModule struct { + service.BaseModule +} + +var g_module GlobalModule + +func AddModule(module service.IModule) bool { + if module.GetModuleType() == 0 { + return false + } + + return g_module.AddModule(module) +} + +func GetModuleByType(moduleType uint32) service.IModule { + return g_module.GetModuleByType(moduleType) +} diff --git a/server/server.go b/originnode/node.go similarity index 86% rename from server/server.go rename to originnode/node.go index ef29223..a5e19b4 100644 --- a/server/server.go +++ b/originnode/node.go @@ -1,4 +1,4 @@ -package server +package originnode import ( "fmt" @@ -20,13 +20,13 @@ type CExitCtl struct { waitGroup *sync.WaitGroup } -type cserver struct { +type COriginNode struct { CExitCtl serviceManager service.IServiceManager sigs chan os.Signal } -func (s *cserver) Init() { +func (s *COriginNode) Init() { service.InitLog() service.InstanceServiceMgr().Init() @@ -36,7 +36,7 @@ func (s *cserver) Init() { signal.Notify(s.sigs, syscall.SIGINT, syscall.SIGTERM) } -func (s *cserver) SetupService(services ...service.IService) { +func (s *COriginNode) SetupService(services ...service.IService) { for i := 0; i < len(services); i++ { if cluster.InstanceClusterMgr().HasLocalService(services[i].GetServiceName()) == true { service.InstanceServiceMgr().Setup(services[i]) @@ -61,7 +61,7 @@ func (s *cserver) SetupService(services ...service.IService) { } -func (s *cserver) Start() { +func (s *COriginNode) Start() { go func() { log.Println(http.ListenAndServe("localhost:6060", nil)) @@ -77,19 +77,19 @@ func (s *cserver) Start() { s.Stop() } -func (s *cserver) Stop() { +func (s *COriginNode) Stop() { close(s.exit) s.waitGroup.Wait() } -func NewServer() *cserver { +func NewOrginNode() *COriginNode { err := cluster.InstanceClusterMgr().Init() if err != nil { fmt.Print(err) return nil } - return new(cserver) + return new(COriginNode) } func HasCmdParam(param string) bool { diff --git a/service/Service.go b/service/Service.go index 2b4f972..795440e 100644 --- a/service/Service.go +++ b/service/Service.go @@ -17,13 +17,13 @@ type MethodInfo struct { types reflect.Type } -type IBaseModule interface { +type IModule interface { SetModuleType(moduleType uint32) GetModuleType() uint32 OnInit() error OnRun() error - AddModule(module IBaseModule) bool - GetModuleByType(moduleType uint32) IBaseModule + AddModule(module IModule) bool + GetModuleByType(moduleType uint32) IModule GetOwnerService() IService SetOwnerService(iservice IService) } @@ -77,7 +77,7 @@ type BaseService struct { type BaseModule struct { moduleType uint32 - mapModule map[uint32]IBaseModule + mapModule map[uint32]IModule ownerService IService } @@ -185,7 +185,7 @@ func (slf *BaseModule) GetModuleType() uint32 { //OnInit() error //OnRun() error -func (slf *BaseModule) AddModule(module IBaseModule) bool { +func (slf *BaseModule) AddModule(module IModule) bool { if module.GetModuleType() == 0 { return false } @@ -193,7 +193,7 @@ func (slf *BaseModule) AddModule(module IBaseModule) bool { module.SetOwnerService(slf.ownerService) if slf.mapModule == nil { - slf.mapModule = make(map[uint32]IBaseModule) + slf.mapModule = make(map[uint32]IModule) } _, ok := slf.mapModule[module.GetModuleType()] @@ -205,7 +205,7 @@ func (slf *BaseModule) AddModule(module IBaseModule) bool { return true } -func (slf *BaseModule) GetModuleByType(moduleType uint32) IBaseModule { +func (slf *BaseModule) GetModuleByType(moduleType uint32) IModule { ret, ok := slf.mapModule[moduleType] if ok == false { return nil