调整orgin结点名称与增加全局模块

This commit is contained in:
boyce
2019-02-01 13:50:09 +08:00
parent 9420b685b2
commit 20bfffeb3e
4 changed files with 52 additions and 21 deletions

View File

@@ -10,7 +10,7 @@ import (
"github.com/duanhf2012/origin/cluster" "github.com/duanhf2012/origin/cluster"
"github.com/duanhf2012/origin/network" "github.com/duanhf2012/origin/network"
"github.com/duanhf2012/origin/server" "github.com/duanhf2012/origin/originnode"
"github.com/duanhf2012/origin/service" "github.com/duanhf2012/origin/service"
"github.com/duanhf2012/origin/sysservice" "github.com/duanhf2012/origin/sysservice"
@@ -123,17 +123,23 @@ func (ws *CTest) OnDestory() error {
} }
func main() { func main() {
server := server.NewServer() node := originnode.NewOrginNode()
if server == nil { if node == nil {
return return
} }
var module CTestModule
module.SetModuleType(1)
originnode.AddModule(&module)
ptest := originnode.GetModuleByType(1)
fmt.Print(ptest)
var receiver CMessageReceiver var receiver CMessageReceiver
wsservice := sysservice.NewWSServerService("/ws", 1314, &receiver, false) wsservice := sysservice.NewWSServerService("/ws", 1314, &receiver, false)
test := NewCTest(0) test := NewCTest(0)
httpserver := sysservice.NewHttpServerService(9120) httpserver := sysservice.NewHttpServerService(9120)
server.SetupService(test, httpserver, wsservice) node.SetupService(test, httpserver, wsservice)
server.Init() node.Init()
server.Start() node.Start()
} }

25
originnode/global.go Normal file
View File

@@ -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)
}

View File

@@ -1,4 +1,4 @@
package server package originnode
import ( import (
"fmt" "fmt"
@@ -20,13 +20,13 @@ type CExitCtl struct {
waitGroup *sync.WaitGroup waitGroup *sync.WaitGroup
} }
type cserver struct { type COriginNode struct {
CExitCtl CExitCtl
serviceManager service.IServiceManager serviceManager service.IServiceManager
sigs chan os.Signal sigs chan os.Signal
} }
func (s *cserver) Init() { func (s *COriginNode) Init() {
service.InitLog() service.InitLog()
service.InstanceServiceMgr().Init() service.InstanceServiceMgr().Init()
@@ -36,7 +36,7 @@ func (s *cserver) Init() {
signal.Notify(s.sigs, syscall.SIGINT, syscall.SIGTERM) 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++ { for i := 0; i < len(services); i++ {
if cluster.InstanceClusterMgr().HasLocalService(services[i].GetServiceName()) == true { if cluster.InstanceClusterMgr().HasLocalService(services[i].GetServiceName()) == true {
service.InstanceServiceMgr().Setup(services[i]) 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() { go func() {
log.Println(http.ListenAndServe("localhost:6060", nil)) log.Println(http.ListenAndServe("localhost:6060", nil))
@@ -77,19 +77,19 @@ func (s *cserver) Start() {
s.Stop() s.Stop()
} }
func (s *cserver) Stop() { func (s *COriginNode) Stop() {
close(s.exit) close(s.exit)
s.waitGroup.Wait() s.waitGroup.Wait()
} }
func NewServer() *cserver { func NewOrginNode() *COriginNode {
err := cluster.InstanceClusterMgr().Init() err := cluster.InstanceClusterMgr().Init()
if err != nil { if err != nil {
fmt.Print(err) fmt.Print(err)
return nil return nil
} }
return new(cserver) return new(COriginNode)
} }
func HasCmdParam(param string) bool { func HasCmdParam(param string) bool {

View File

@@ -17,13 +17,13 @@ type MethodInfo struct {
types reflect.Type types reflect.Type
} }
type IBaseModule interface { type IModule interface {
SetModuleType(moduleType uint32) SetModuleType(moduleType uint32)
GetModuleType() uint32 GetModuleType() uint32
OnInit() error OnInit() error
OnRun() error OnRun() error
AddModule(module IBaseModule) bool AddModule(module IModule) bool
GetModuleByType(moduleType uint32) IBaseModule GetModuleByType(moduleType uint32) IModule
GetOwnerService() IService GetOwnerService() IService
SetOwnerService(iservice IService) SetOwnerService(iservice IService)
} }
@@ -77,7 +77,7 @@ type BaseService struct {
type BaseModule struct { type BaseModule struct {
moduleType uint32 moduleType uint32
mapModule map[uint32]IBaseModule mapModule map[uint32]IModule
ownerService IService ownerService IService
} }
@@ -185,7 +185,7 @@ func (slf *BaseModule) GetModuleType() uint32 {
//OnInit() error //OnInit() error
//OnRun() error //OnRun() error
func (slf *BaseModule) AddModule(module IBaseModule) bool { func (slf *BaseModule) AddModule(module IModule) bool {
if module.GetModuleType() == 0 { if module.GetModuleType() == 0 {
return false return false
} }
@@ -193,7 +193,7 @@ func (slf *BaseModule) AddModule(module IBaseModule) bool {
module.SetOwnerService(slf.ownerService) module.SetOwnerService(slf.ownerService)
if slf.mapModule == nil { if slf.mapModule == nil {
slf.mapModule = make(map[uint32]IBaseModule) slf.mapModule = make(map[uint32]IModule)
} }
_, ok := slf.mapModule[module.GetModuleType()] _, ok := slf.mapModule[module.GetModuleType()]
@@ -205,7 +205,7 @@ func (slf *BaseModule) AddModule(module IBaseModule) bool {
return true return true
} }
func (slf *BaseModule) GetModuleByType(moduleType uint32) IBaseModule { func (slf *BaseModule) GetModuleByType(moduleType uint32) IModule {
ret, ok := slf.mapModule[moduleType] ret, ok := slf.mapModule[moduleType]
if ok == false { if ok == false {
return nil return nil