ClientConnect signature 변경
This commit is contained in:
@ -10,6 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"github.com/gorilla/websocket"
|
||||
"repositories.action2quare.com/ayo/gocommon"
|
||||
"repositories.action2quare.com/ayo/gocommon/flagx"
|
||||
"repositories.action2quare.com/ayo/gocommon/logger"
|
||||
@ -35,7 +36,7 @@ type Tavern struct {
|
||||
wsh *wshandler.WebsocketHandler
|
||||
mongoClient gocommon.MongoClient
|
||||
redison *gocommon.RedisonHandler
|
||||
httpApiBorker gocommon.HttpApiHandlerContainer
|
||||
httpApiBorker gocommon.HttpApiBroker
|
||||
}
|
||||
|
||||
func getMacAddr() (string, error) {
|
||||
@ -57,12 +58,12 @@ func getMacAddr() (string, error) {
|
||||
// New :
|
||||
func New(context context.Context, wsh *wshandler.WebsocketHandler) (*Tavern, error) {
|
||||
if err := gocommon.LoadConfig(&config); err != nil {
|
||||
return nil, err
|
||||
return nil, logger.ErrorWithCallStack(err)
|
||||
}
|
||||
|
||||
macaddr, err := getMacAddr()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, logger.ErrorWithCallStack(err)
|
||||
}
|
||||
config.macAddr = macaddr
|
||||
tv := &Tavern{
|
||||
@ -71,7 +72,7 @@ func New(context context.Context, wsh *wshandler.WebsocketHandler) (*Tavern, err
|
||||
|
||||
if err = tv.prepare(context); err != nil {
|
||||
logger.Println("tavern prepare() failed :", err)
|
||||
return nil, err
|
||||
return nil, logger.ErrorWithCallStack(err)
|
||||
}
|
||||
|
||||
return tv, nil
|
||||
@ -84,28 +85,28 @@ func (tv *Tavern) Cleanup() {
|
||||
func (tv *Tavern) prepare(ctx context.Context) error {
|
||||
redisClient, err := gocommon.NewRedisClient(config.RedisURL)
|
||||
if err != nil {
|
||||
return err
|
||||
return logger.ErrorWithCallStack(err)
|
||||
}
|
||||
|
||||
tv.redison = gocommon.NewRedisonHandler(redisClient.Context(), redisClient)
|
||||
tv.wsh.RegisterApiHandler(wshandler.MakeWebsocketApiHandler(tv, "tv"))
|
||||
tv.wsh.AddHandler(wshandler.MakeWebsocketApiHandler(tv, "tv"))
|
||||
|
||||
if cfg, ok := config.Group["chat"]; ok {
|
||||
chat := new(groupChat)
|
||||
if err := chat.Initialize(tv, cfg); err != nil {
|
||||
return err
|
||||
return logger.ErrorWithCallStack(err)
|
||||
}
|
||||
tv.httpApiBorker.RegisterApiHandler(gocommon.MakeHttpApiHandler(chat, "chat"))
|
||||
tv.wsh.RegisterApiHandler(wshandler.MakeWebsocketApiHandler(chat, "chat"))
|
||||
tv.httpApiBorker.AddHandler(gocommon.MakeHttpApiHandler(chat, "chat"))
|
||||
tv.wsh.AddHandler(wshandler.MakeWebsocketApiHandler(chat, "chat"))
|
||||
}
|
||||
|
||||
if cfg, ok := config.Group["party"]; ok {
|
||||
party := new(groupParty)
|
||||
if err := party.Initialize(tv, cfg); err != nil {
|
||||
return err
|
||||
return logger.ErrorWithCallStack(err)
|
||||
}
|
||||
tv.httpApiBorker.RegisterApiHandler(gocommon.MakeHttpApiHandler(party, "party"))
|
||||
tv.wsh.RegisterApiHandler(wshandler.MakeWebsocketApiHandler(party, "party"))
|
||||
tv.httpApiBorker.AddHandler(gocommon.MakeHttpApiHandler(party, "party"))
|
||||
tv.wsh.AddHandler(wshandler.MakeWebsocketApiHandler(party, "party"))
|
||||
}
|
||||
|
||||
return nil
|
||||
@ -127,18 +128,16 @@ func (tv *Tavern) LeaveChannel(ctx wshandler.ApiCallContext) {
|
||||
tv.wsh.LeaveRoom(ctx.Arguments[0].(string), ctx.CallBy.Accid)
|
||||
}
|
||||
|
||||
func (tv *Tavern) ClientConnected(ctx wshandler.ApiCallContext) {
|
||||
logger.Println("ClientConnected :", ctx.CallBy.Alias)
|
||||
tv.redison.Del(tv.redison.Context(), ctx.CallBy.Accid.Hex())
|
||||
_, err := tv.redison.JSONSet(ctx.CallBy.Accid.Hex(), "$", bson.M{"_ts": time.Now().UTC().Unix()})
|
||||
func (tv *Tavern) ClientConnected(conn *websocket.Conn, callby *wshandler.Sender) {
|
||||
tv.redison.Del(tv.redison.Context(), callby.Accid.Hex())
|
||||
_, err := tv.redison.JSONSet(callby.Accid.Hex(), "$", bson.M{"_ts": time.Now().UTC().Unix()})
|
||||
if err != nil {
|
||||
logger.Println("OnClientMessageReceived HSet error :", err)
|
||||
}
|
||||
}
|
||||
|
||||
func (tv *Tavern) ClientDisconnected(ctx wshandler.ApiCallContext) {
|
||||
tv.redison.Del(tv.redison.Context(), ctx.CallBy.Accid.Hex()).Result()
|
||||
logger.Println("ClientDisconnected :", ctx.CallBy.Alias)
|
||||
func (tv *Tavern) ClientDisconnected(conn *websocket.Conn, callby *wshandler.Sender) {
|
||||
tv.redison.Del(tv.redison.Context(), callby.Accid.Hex()).Result()
|
||||
}
|
||||
|
||||
func (tv *Tavern) OnRoomCreated(name string) {
|
||||
|
||||
Reference in New Issue
Block a user