ㅑ후
This commit is contained in:
13
server/server.go
Normal file
13
server/server.go
Normal file
@@ -0,0 +1,13 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"flag"
|
||||
|
||||
cc "git.loafle.net/commons_go/config"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/config"
|
||||
)
|
||||
|
||||
|
||||
func New() {
|
||||
|
||||
}
|
||||
14
server/server_handler.go
Normal file
14
server/server_handler.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
cwf "git.loafle.net/commons_go/websocket_fasthttp"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/servlet"
|
||||
oos "git.loafle.net/overflow/overflow_subscriber"
|
||||
)
|
||||
|
||||
type ServerHandler interface {
|
||||
cwf.ServerHandler
|
||||
|
||||
RegisterServletHandler(servletHandler servlet.ServletHandler)
|
||||
RegisterSubscriberHandler(subscriberHandler oos.SubscriberHandler)
|
||||
}
|
||||
80
server/server_handlers.go
Normal file
80
server/server_handlers.go
Normal file
@@ -0,0 +1,80 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
|
||||
"git.loafle.net/commons_go/logging"
|
||||
cwf "git.loafle.net/commons_go/websocket_fasthttp"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/config"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/external"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/external/redis"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/servlet"
|
||||
oos "git.loafle.net/overflow/overflow_subscriber"
|
||||
oosr "git.loafle.net/overflow/overflow_subscriber/redis"
|
||||
"github.com/valyala/fasthttp"
|
||||
)
|
||||
|
||||
type ServerHandlers struct {
|
||||
cwf.ServerHandlers
|
||||
|
||||
redisSubscriber oos.Subscriber
|
||||
subscribers []oos.SubscriberHandler
|
||||
}
|
||||
|
||||
// Init invoked before the server is started
|
||||
// If you override ths method, must call
|
||||
func (sh *ServerHandlers) Init() error {
|
||||
if err := sh.ServerHandlers.Init(); nil != err {
|
||||
return err
|
||||
}
|
||||
|
||||
external.ExternalInit()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) Listen() (net.Listener, error) {
|
||||
return net.Listen(config.Config.Server.Network, config.Config.Server.Addr)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) OnStart() {
|
||||
sh.ServerHandlers.OnStart()
|
||||
|
||||
sh.redisSubscriber = oosr.New(redis.RedisPool.Get())
|
||||
if err := sh.redisSubscriber.Start(); nil != err {
|
||||
logging.Logger().Error(fmt.Sprintf("App: Redist Subscriber did not start %v", err))
|
||||
return
|
||||
}
|
||||
|
||||
for _, subscriber := range sh.subscribers {
|
||||
sh.redisSubscriber.Subscribe(subscriber)
|
||||
}
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) OnError(ctx *fasthttp.RequestCtx, status int, reason error) {
|
||||
sh.OnError(ctx, status, reason)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) OnStop() {
|
||||
sh.redisSubscriber.Stop()
|
||||
|
||||
external.ExternalDestroy()
|
||||
|
||||
sh.ServerHandlers.OnStop()
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) RegisterServletHandler(servletHandler servlet.ServletHandler) {
|
||||
sh.RegisterSocketHandler(servletHandler)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) RegisterSubscriberHandler(subscriberHandler oos.SubscriberHandler) {
|
||||
if nil == sh.subscribers {
|
||||
sh.subscribers = make([]oos.SubscriberHandler, 0)
|
||||
}
|
||||
sh.subscribers = append(sh.subscribers, subscriberHandler)
|
||||
}
|
||||
|
||||
func (sh *ServerHandlers) Validate() {
|
||||
sh.ServerHandlers.Validate()
|
||||
}
|
||||
Reference in New Issue
Block a user