mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-04 06:54:45 +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() {
|
||||
|
||||
@@ -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, ".")
|
||||
|
||||
@@ -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