mirror of
https://github.com/duanhf2012/origin.git
synced 2026-05-13 11:07:34 +08:00
优化rpc
This commit is contained in:
@@ -44,6 +44,21 @@ func (s *cserver) SetupService(services ...service.IService) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//将其他服务通知已经安装
|
||||||
|
for i := 0; i < len(services); i++ {
|
||||||
|
for j := 0; j < len(services); j++ {
|
||||||
|
if cluster.InstanceClusterMgr().HasLocalService(services[i].GetServiceName()) == false {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if services[i].GetServiceName() == services[j].GetServiceName() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
services[i].OnSetupService(services[j])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *cserver) Start() {
|
func (s *cserver) Start() {
|
||||||
|
|||||||
@@ -33,6 +33,9 @@ type IService interface {
|
|||||||
OnRunLoop() error
|
OnRunLoop() error
|
||||||
OnDestory() error
|
OnDestory() error
|
||||||
OnFetchService(iservice IService) error
|
OnFetchService(iservice IService) error
|
||||||
|
OnSetupService(iservice IService) //其他服务被安装
|
||||||
|
OnRemoveService(iservice IService) //其他服务被安装
|
||||||
|
|
||||||
GetServiceType() int
|
GetServiceType() int
|
||||||
GetServiceName() string
|
GetServiceName() string
|
||||||
SetServiceName(serviceName string) bool
|
SetServiceName(serviceName string) bool
|
||||||
@@ -112,6 +115,14 @@ func (slf *BaseService) OnFetchService(iservice IService) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (slf *BaseService) OnSetupService(iservice IService) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (slf *BaseService) OnRemoveService(iservice IService) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (slf *BaseService) Init(Iservice interface{}, servicetype int) error {
|
func (slf *BaseService) Init(Iservice interface{}, servicetype int) error {
|
||||||
slf.servicename = fmt.Sprintf("%T", Iservice)
|
slf.servicename = fmt.Sprintf("%T", Iservice)
|
||||||
parts := strings.Split(slf.servicename, ".")
|
parts := strings.Split(slf.servicename, ".")
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
package sysservice
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/duanhf2012/origin/network"
|
|
||||||
"github.com/duanhf2012/origin/service"
|
|
||||||
)
|
|
||||||
|
|
||||||
type WSServerService struct {
|
|
||||||
service.BaseService
|
|
||||||
wsserver network.WebsocketServer
|
|
||||||
|
|
||||||
pattern string
|
|
||||||
port uint16
|
|
||||||
messageReciver network.IMessageReceiver
|
|
||||||
bEnableCompression bool
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ws *WSServerService) OnInit() error {
|
|
||||||
|
|
||||||
ws.wsserver.Init(ws.pattern, ws.port, ws.messageReciver, ws.bEnableCompression)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ws *WSServerService) OnRun() error {
|
|
||||||
ws.wsserver.Start()
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewWSServerService(pattern string, port uint16, messageReciver network.IMessageReceiver, bEnableCompression bool) *WSServerService {
|
|
||||||
wss := new(WSServerService)
|
|
||||||
wss.pattern = pattern
|
|
||||||
wss.port = port
|
|
||||||
wss.messageReciver = messageReciver
|
|
||||||
wss.bEnableCompression = bEnableCompression
|
|
||||||
|
|
||||||
wss.Init(wss, 0)
|
|
||||||
return wss
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ws *WSServerService) OnDestory() error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user