印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
825 B

1 year ago
package natsClient
import (
"server/pb"
"github.com/gogo/protobuf/proto"
"github.com/liangdas/mqant/log"
"github.com/nats-io/nats.go"
)
type ReloadNatsImp struct {
f func(*pb.ReloadGameConfig)
}
// 新建一个reload监听
func NewReloadNats(conn *nats.Conn, f func(*pb.ReloadGameConfig)) {
base := NewNatsClient()
base.Topic = TopicReloadConfig
r := &ReloadNatsImp{f: f}
base.NatsImp = r
base.Conn = conn
go func() {
err := base.OnRequestHandle()
if err != nil {
log.Error("newClientDissconnectNatsImp OnRequestHandle error:%v", err)
}
}()
}
func (r *ReloadNatsImp) OnMsgCallBack(m *nats.Msg) {
req := &pb.ReloadGameConfig{}
err := proto.Unmarshal(m.Data, req)
if err != nil {
log.Error("ReloadNatsImp OnMsgCallBack error %v", err)
return
}
log.Debug("ReloadNatsImp:%+v", req)
r.f(req)
}