mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-04 06:54:45 +08:00
调整orgin结点名称与增加全局模块
This commit is contained in:
18
Test/main.go
18
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()
|
||||
}
|
||||
|
||||
25
originnode/global.go
Normal file
25
originnode/global.go
Normal 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)
|
||||
}
|
||||
@@ -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 {
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user