优化rpc

This commit is contained in:
boyce
2019-01-27 20:14:47 +08:00
parent 423da02940
commit 5599249b5c
3 changed files with 26 additions and 43 deletions

View File

@@ -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() {

View File

@@ -33,6 +33,9 @@ type IService interface {
OnRunLoop() error
OnDestory() error
OnFetchService(iservice IService) error
OnSetupService(iservice IService) //其他服务被安装
OnRemoveService(iservice IService) //其他服务被安装
GetServiceType() int
GetServiceName() string
SetServiceName(serviceName string) bool
@@ -112,6 +115,14 @@ func (slf *BaseService) OnFetchService(iservice IService) error {
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 {
slf.servicename = fmt.Sprintf("%T", Iservice)
parts := strings.Split(slf.servicename, ".")

View File

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