mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-27 17:24:44 +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/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
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 (
|
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 {
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user