diff --git a/server/server.go b/server/server.go index cee6e04..b56cd33 100644 --- a/server/server.go +++ b/server/server.go @@ -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() { diff --git a/service/Service.go b/service/Service.go index 920f8e9..c96f8f0 100644 --- a/service/Service.go +++ b/service/Service.go @@ -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, ".") diff --git a/sysservice/websocketservice.go b/sysservice/websocketservice.go deleted file mode 100644 index 21a18d2..0000000 --- a/sysservice/websocketservice.go +++ /dev/null @@ -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 -}