上传代码优化

This commit is contained in:
liwei1dao 2023-03-30 14:14:02 +08:00
parent a38a228de4
commit f0877961f9
19 changed files with 376 additions and 247 deletions

View File

@ -247,15 +247,16 @@ const (
// RPC服务接口定义处
const ( //Rpc
//Gateway 网关消息
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id
Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
Rpc_GatewayNoticeUserLogin core.Rpc_Key = "Rpc_NoticeUserLogin" //通知用户登录
Rpc_GatewayNoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线
Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由
Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id
Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id
Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息
Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息
Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息
Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接
Rpc_GatewayNoticeUserLogin core.Rpc_Key = "Rpc_NoticeUserLogin" //通知用户登录
Rpc_GatewayNoticeUserCreate core.Rpc_Key = "Rpc_NoticeUserCreate" //通知用户创角
Rpc_GatewayNoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线
//GM 命令
Rpc_ModuleGMCreateCmd core.Rpc_Key = "Rpc_ModuleGMCreateCmd" //执行GM命令
//Chat 命令

View File

@ -56,7 +56,7 @@ func (this *modelAutoBattle) getAutoBattleList(uid string) (result []*pb.DBAutoB
}
// 玩家离线清除自动战斗数据
func (this *modelAutoBattle) RemoveUserInfo(session comm.IUserSession) (err error) {
this.BatchDelLists(session.GetUserId())
func (this *modelAutoBattle) RemoveUserInfo(uid string) (err error) {
this.BatchDelLists(uid)
return err
}

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
)
@ -54,7 +55,8 @@ func (this *AutoBattle) ModifyAutoData(uid string, id string, data map[string]in
}
//Event-------------------------------------------------------------------------------------------------玩家离线
func (this *AutoBattle) EventUserOffline(session comm.IUserSession) {
err := this.modelAutoBattle.RemoveUserInfo(session)
this.Debugf("EventUserOffline:%s err:%v", session.ToString(), err)
func (this *AutoBattle) EventUserOffline(uid, sessionid string) {
if err := this.modelAutoBattle.RemoveUserInfo(uid); err != nil {
this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
}
}

View File

@ -206,17 +206,17 @@ func (this *modelChatComp) getCrossChannelMember(channel int32) (result []*pb.Ca
}
//移除频道成员
func (this *modelChatComp) removeCrossChannelMember(session comm.IUserSession) (err error) {
func (this *modelChatComp) removeCrossChannelMember(uid string) (err error) {
var (
result *pb.DBUserExpand
)
if result, err = this.module.ModuleUser.GetUserExpand(session.GetUserId()); err != nil {
if result, err = this.module.ModuleUser.GetUserExpand(uid); err != nil {
this.module.Errorf("err:%v", err)
return
}
key := fmt.Sprintf("%s-%d-member", crosschatkey, result.Chatchannel)
if err = this.Redis.HDel(key, session.GetUserId()); err != nil {
if err = this.Redis.HDel(key, uid); err != nil {
this.module.Errorf("err:%v", err)
return
}

View File

@ -80,12 +80,9 @@ func (this *Chat) OnInstallComp() {
}
//Event------------------------------------------------------------------------------------------------------------
func (this *Chat) EventUserOffline(session comm.IUserSession) {
if err := this.modelChat.removeCrossChannelMember(session); err != nil {
this.Debug("EventUserOffline:",
log.Field{Key: "uid", Value: session.GetUserId()},
log.Field{Key: "err", Value: err.Error()},
)
func (this *Chat) EventUserOffline(uid, sessionid string) {
if err := this.modelChat.removeCrossChannelMember(uid); err != nil {
this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
}
}

View File

@ -59,6 +59,6 @@ func (this *Combat) OnInstallComp() {
}
//Event------------------------------------------------------------------------------------------------------------
func (this *Combat) EventUserOffline(session comm.IUserSession) {
this.modelCombat.delInfo(session.GetUserId())
func (this *Combat) EventUserOffline(uid, sessionid string) {
this.modelCombat.delInfo(uid)
}

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
@ -67,9 +68,11 @@ func (this *Equipment) OnInstallComp() {
}
//Event------------------------------------------------------------------------------------------------------------
func (this *Equipment) EventUserOffline(session comm.IUserSession) {
err := this.modelEquipment.BatchDelLists(session.GetUserId())
this.Debugf("EventUserOffline:%s err:%v", session, err)
func (this *Equipment) EventUserOffline(uid, sessionid string) {
if err := this.modelEquipment.BatchDelLists(uid); err != nil {
this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
}
}
//IEquipment-------------------------------------------------------------------------------------------------------------------------------

View File

@ -603,9 +603,9 @@ func (this *ModelHero) AddCardExp(session comm.IUserSession, hero *pb.DBHero, ex
}
// 玩家离线 清除缓存
func (this *ModelHero) RemoveUserHeroInfo(session comm.IUserSession) (err error) {
func (this *ModelHero) RemoveUserHeroInfo(uid string) (err error) {
//star := configure.Now()
this.BatchDelLists(session.GetUserId())
this.BatchDelLists(uid)
//this.moduleHero.Debugf("=====%d,", time.Since(star).Milliseconds())
return
}

View File

@ -258,9 +258,8 @@ func (this *Hero) GetSpecifiedHero(session comm.IUserSession, heroConfId string,
}
//Event-------------------------------------------------------------------------------------------------玩家离线
func (this *Hero) EventUserOffline(session comm.IUserSession) {
err := this.modelHero.RemoveUserHeroInfo(session)
this.Debugf("EventUserOffline:%s err:%v", session.ToString(), err)
func (this *Hero) EventUserOffline(uid, sessionid string) {
this.modelHero.RemoveUserHeroInfo(uid)
}
// 批量创建多个英雄

View File

@ -8,6 +8,7 @@ import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
)
/*
@ -62,9 +63,10 @@ func (this *Items) OnInstallComp() {
}
//Event------------------------------------------------------------------------------------------------------------
func (this *Items) EventUserOffline(session comm.IUserSession) {
err := this.modelItems.BatchDelLists(session.GetUserId())
this.Debugf("EventUserOffline:%s err:%v", session, err)
func (this *Items) EventUserOffline(uid, sessionid string) {
if err := this.modelItems.BatchDelLists(uid); err != nil {
this.Error("EventUserOffline", log.Field{Key: "uid", Value: uid}, log.Field{Key: "err", Value: err.Error()})
}
}
//IItems-------------------------------------------------------------------------------------------------------------------------------

View File

@ -59,6 +59,7 @@ func (this *modelPandata) queryUserMartialhall(uid string) (result *pb.DBPractic
this.module.Errorln(err)
return
}
this.module.atlas.CheckActivatePandaAtlasCollect(uid, "1002")
}
err = nil
return

View File

@ -142,6 +142,7 @@ func (this *Practice) AddItems(session comm.IUserSession, items map[string]int32
this.Errorln(err)
return
}
this.atlas.CheckActivatePandaAtlasCollect(session.GetUserId(), "1002")
} else {
id = make([]string, 0)
for k, _ := range items {

View File

@ -62,7 +62,7 @@ func (this *Privilege) Start() (err error) {
}
//Event------------------------------------------------------------------------------------------------------------
func (this *Privilege) EventUserOffline(session comm.IUserSession) {
func (this *Privilege) EventUserOffline(uid, sessionid string) {
//this.modelPrivilege.DelByUId(session.GetUserId(), db.SetDBMgoLog(false))
}

View File

@ -370,7 +370,7 @@ func (this *Pvp) userlogin(session comm.IUserSession) {
}
//用户离线处理
func (this *Pvp) useroffline(session comm.IUserSession) {
func (this *Pvp) useroffline(uid, sessionid string) {
var (
side int32
data []byte
@ -378,8 +378,8 @@ func (this *Pvp) useroffline(session comm.IUserSession) {
)
this.lock.RLock()
for _, v := range this.battles {
if v.Red.Uid == session.GetUserId() || v.Blue.Uid == session.GetUserId() {
if session.GetUserId() == v.Red.Uid {
if v.Red.Uid == uid || v.Blue.Uid == uid {
if uid == v.Red.Uid {
side = 1
v.RedOffline = true
} else {

View File

@ -79,9 +79,9 @@ func (this *ModuleTask) InitTaskByTag(uid string, taskTag comm.TaskTag) {
}
// 清除缓存
func (this *ModuleTask) CleanTask(session comm.IUserSession) {
this.modelTask.BatchDelLists(session.GetUserId())
this.modelTaskActive.BatchDelLists(session.GetUserId())
func (this *ModuleTask) CleanTask(uid, sessionid string) {
this.modelTask.BatchDelLists(uid)
this.modelTaskActive.BatchDelLists(uid)
}
// 重置玩家活跃度

View File

@ -1,10 +1,13 @@
package user
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/sys/db"
"strings"
"google.golang.org/protobuf/proto"
@ -123,10 +126,17 @@ func (this *apiComp) Create(session comm.IUserSession, req *pb.UserCreateReq) (c
}
if req.Figure != 0 {
this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72,1))
this.module.ModuleRtask.TriggerTask(uid, comm.GettaskParam(comm.Rtype72, 1))
}
this.mail.SendMailByCid(session, comm.Welcomemail, nil)
event.TriggerEvent(comm.EventCreateUser, session.GetUserId())
this.module.service.AcrossClusterRpcGo(context.Background(), db.CrossTag(), comm.Service_Worker, string(comm.Rpc_GatewayNoticeUserCreate), &pb.NoticeUserCreateReq{
Ip: session.GetIP(),
UserId: session.GetUserId(),
ServiceTag: session.GetServiecTag(),
GatewayServiceId: session.GetGatewayServiceId(),
UserSessionId: session.GetSessionId(),
}, nil)
return
}

View File

@ -159,22 +159,22 @@ func (this *User) ResetSession() {
}
// 清除session
func (this *User) CleanSession(session comm.IUserSession) {
this.stopTicker(session.GetUserId())
func (this *User) CleanSession(uid, sessionid string) {
this.stopTicker(uid)
if !this.IsCross() {
this.modelUser.updateOfflineTime(session.GetUserId())
this.modelUser.updateOfflineTime(uid)
}
// sId := fmt.Sprintf("%s-%s", comm.RDS_EMPTY, session.GetUserId())
// this.modelSession.Del(sId, db.SetDBMgoLog(false))
// this.modelSession.DelListlds(comm.RDS_EMPTY, session.GetUserId())
//确保删除的会话是目标会话 不是就不要删除了
if user := this.modelSession.getUserSession(session.GetUserId()); user != nil && user.SessionId == session.GetSessionId() {
this.modelSession.Del(session.GetUserId(), db.SetDBMgoLog(false))
this.modelSession.DelListlds(comm.RDS_EMPTY, []string{session.GetUserId()}, db.SetDBMgoLog(false))
if user := this.modelSession.getUserSession(uid); user != nil && user.SessionId == sessionid {
this.modelSession.Del(uid, db.SetDBMgoLog(false))
this.modelSession.DelListlds(comm.RDS_EMPTY, []string{uid}, db.SetDBMgoLog(false))
}
this.modelUser.DelByUId(session.GetUserId(), db.SetDBMgoLog(false))
this.modelExpand.DelByUId(session.GetUserId(), db.SetDBMgoLog(false))
this.modelSetting.DelByUId(session.GetUserId(), db.SetDBMgoLog(false))
this.modelUser.DelByUId(uid, db.SetDBMgoLog(false))
this.modelExpand.DelByUId(uid, db.SetDBMgoLog(false))
this.modelSetting.DelByUId(uid, db.SetDBMgoLog(false))
}
// 在线玩家列表

View File

@ -766,6 +766,86 @@ func (x *NoticeUserLoginReq) GetGatewayServiceId() string {
return ""
}
//通知用户登录
type NoticeUserCreateReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Ip string `protobuf:"bytes,1,opt,name=Ip,proto3" json:"Ip"`
UserSessionId string `protobuf:"bytes,2,opt,name=UserSessionId,proto3" json:"UserSessionId"`
UserId string `protobuf:"bytes,3,opt,name=UserId,proto3" json:"UserId"`
ServiceTag string `protobuf:"bytes,4,opt,name=ServiceTag,proto3" json:"ServiceTag"`
GatewayServiceId string `protobuf:"bytes,5,opt,name=GatewayServiceId,proto3" json:"GatewayServiceId"`
}
func (x *NoticeUserCreateReq) Reset() {
*x = NoticeUserCreateReq{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NoticeUserCreateReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NoticeUserCreateReq) ProtoMessage() {}
func (x *NoticeUserCreateReq) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NoticeUserCreateReq.ProtoReflect.Descriptor instead.
func (*NoticeUserCreateReq) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{10}
}
func (x *NoticeUserCreateReq) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *NoticeUserCreateReq) GetUserSessionId() string {
if x != nil {
return x.UserSessionId
}
return ""
}
func (x *NoticeUserCreateReq) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
func (x *NoticeUserCreateReq) GetServiceTag() string {
if x != nil {
return x.ServiceTag
}
return ""
}
func (x *NoticeUserCreateReq) GetGatewayServiceId() string {
if x != nil {
return x.GatewayServiceId
}
return ""
}
//通知用户离线
type NoticeUserCloseReq struct {
state protoimpl.MessageState
@ -782,7 +862,7 @@ type NoticeUserCloseReq struct {
func (x *NoticeUserCloseReq) Reset() {
*x = NoticeUserCloseReq{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[10]
mi := &file_comm_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -795,7 +875,7 @@ func (x *NoticeUserCloseReq) String() string {
func (*NoticeUserCloseReq) ProtoMessage() {}
func (x *NoticeUserCloseReq) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[10]
mi := &file_comm_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -808,7 +888,7 @@ func (x *NoticeUserCloseReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use NoticeUserCloseReq.ProtoReflect.Descriptor instead.
func (*NoticeUserCloseReq) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{10}
return file_comm_proto_rawDescGZIP(), []int{11}
}
func (x *NoticeUserCloseReq) GetIp() string {
@ -858,7 +938,7 @@ type SkillData struct {
func (x *SkillData) Reset() {
*x = SkillData{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[11]
mi := &file_comm_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -871,7 +951,7 @@ func (x *SkillData) String() string {
func (*SkillData) ProtoMessage() {}
func (x *SkillData) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[11]
mi := &file_comm_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -884,7 +964,7 @@ func (x *SkillData) ProtoReflect() protoreflect.Message {
// Deprecated: Use SkillData.ProtoReflect.Descriptor instead.
func (*SkillData) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{11}
return file_comm_proto_rawDescGZIP(), []int{12}
}
func (x *SkillData) GetSkillID() int32 {
@ -915,7 +995,7 @@ type UserAssets struct {
func (x *UserAssets) Reset() {
*x = UserAssets{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[12]
mi := &file_comm_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -928,7 +1008,7 @@ func (x *UserAssets) String() string {
func (*UserAssets) ProtoMessage() {}
func (x *UserAssets) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[12]
mi := &file_comm_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -941,7 +1021,7 @@ func (x *UserAssets) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserAssets.ProtoReflect.Descriptor instead.
func (*UserAssets) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{12}
return file_comm_proto_rawDescGZIP(), []int{13}
}
func (x *UserAssets) GetA() string {
@ -980,7 +1060,7 @@ type UserAtno struct {
func (x *UserAtno) Reset() {
*x = UserAtno{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[13]
mi := &file_comm_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -993,7 +1073,7 @@ func (x *UserAtno) String() string {
func (*UserAtno) ProtoMessage() {}
func (x *UserAtno) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[13]
mi := &file_comm_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1006,7 +1086,7 @@ func (x *UserAtno) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserAtno.ProtoReflect.Descriptor instead.
func (*UserAtno) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{13}
return file_comm_proto_rawDescGZIP(), []int{14}
}
func (x *UserAtno) GetA() string {
@ -1049,7 +1129,7 @@ type TaskParam struct {
func (x *TaskParam) Reset() {
*x = TaskParam{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[14]
mi := &file_comm_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1062,7 +1142,7 @@ func (x *TaskParam) String() string {
func (*TaskParam) ProtoMessage() {}
func (x *TaskParam) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[14]
mi := &file_comm_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1075,7 +1155,7 @@ func (x *TaskParam) ProtoReflect() protoreflect.Message {
// Deprecated: Use TaskParam.ProtoReflect.Descriptor instead.
func (*TaskParam) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{14}
return file_comm_proto_rawDescGZIP(), []int{15}
}
func (x *TaskParam) GetFirst() int32 {
@ -1105,7 +1185,7 @@ type RtaskParam struct {
func (x *RtaskParam) Reset() {
*x = RtaskParam{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[15]
mi := &file_comm_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1118,7 +1198,7 @@ func (x *RtaskParam) String() string {
func (*RtaskParam) ProtoMessage() {}
func (x *RtaskParam) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[15]
mi := &file_comm_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1131,7 +1211,7 @@ func (x *RtaskParam) ProtoReflect() protoreflect.Message {
// Deprecated: Use RtaskParam.ProtoReflect.Descriptor instead.
func (*RtaskParam) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{15}
return file_comm_proto_rawDescGZIP(), []int{16}
}
func (x *RtaskParam) GetParam1() int32 {
@ -1166,7 +1246,7 @@ type UIdReq struct {
func (x *UIdReq) Reset() {
*x = UIdReq{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[16]
mi := &file_comm_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1179,7 +1259,7 @@ func (x *UIdReq) String() string {
func (*UIdReq) ProtoMessage() {}
func (x *UIdReq) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[16]
mi := &file_comm_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1192,7 +1272,7 @@ func (x *UIdReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use UIdReq.ProtoReflect.Descriptor instead.
func (*UIdReq) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{16}
return file_comm_proto_rawDescGZIP(), []int{17}
}
func (x *UIdReq) GetUid() string {
@ -1213,7 +1293,7 @@ type NameReq struct {
func (x *NameReq) Reset() {
*x = NameReq{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[17]
mi := &file_comm_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1226,7 +1306,7 @@ func (x *NameReq) String() string {
func (*NameReq) ProtoMessage() {}
func (x *NameReq) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[17]
mi := &file_comm_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1239,7 +1319,7 @@ func (x *NameReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use NameReq.ProtoReflect.Descriptor instead.
func (*NameReq) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{17}
return file_comm_proto_rawDescGZIP(), []int{18}
}
func (x *NameReq) GetName() string {
@ -1258,7 +1338,7 @@ type EmptyReq struct {
func (x *EmptyReq) Reset() {
*x = EmptyReq{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[18]
mi := &file_comm_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1271,7 +1351,7 @@ func (x *EmptyReq) String() string {
func (*EmptyReq) ProtoMessage() {}
func (x *EmptyReq) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[18]
mi := &file_comm_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1284,7 +1364,7 @@ func (x *EmptyReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use EmptyReq.ProtoReflect.Descriptor instead.
func (*EmptyReq) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{18}
return file_comm_proto_rawDescGZIP(), []int{19}
}
type EmptyResp struct {
@ -1296,7 +1376,7 @@ type EmptyResp struct {
func (x *EmptyResp) Reset() {
*x = EmptyResp{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[19]
mi := &file_comm_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1309,7 +1389,7 @@ func (x *EmptyResp) String() string {
func (*EmptyResp) ProtoMessage() {}
func (x *EmptyResp) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[19]
mi := &file_comm_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1322,7 +1402,7 @@ func (x *EmptyResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use EmptyResp.ProtoReflect.Descriptor instead.
func (*EmptyResp) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{19}
return file_comm_proto_rawDescGZIP(), []int{20}
}
// rpc 通用请求消息 1
@ -1337,7 +1417,7 @@ type RPCGeneralReqA1 struct {
func (x *RPCGeneralReqA1) Reset() {
*x = RPCGeneralReqA1{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[20]
mi := &file_comm_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1350,7 +1430,7 @@ func (x *RPCGeneralReqA1) String() string {
func (*RPCGeneralReqA1) ProtoMessage() {}
func (x *RPCGeneralReqA1) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[20]
mi := &file_comm_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1363,7 +1443,7 @@ func (x *RPCGeneralReqA1) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCGeneralReqA1.ProtoReflect.Descriptor instead.
func (*RPCGeneralReqA1) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{20}
return file_comm_proto_rawDescGZIP(), []int{21}
}
func (x *RPCGeneralReqA1) GetParam1() string {
@ -1386,7 +1466,7 @@ type RPCGeneralReqA2 struct {
func (x *RPCGeneralReqA2) Reset() {
*x = RPCGeneralReqA2{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[21]
mi := &file_comm_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1399,7 +1479,7 @@ func (x *RPCGeneralReqA2) String() string {
func (*RPCGeneralReqA2) ProtoMessage() {}
func (x *RPCGeneralReqA2) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[21]
mi := &file_comm_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1412,7 +1492,7 @@ func (x *RPCGeneralReqA2) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCGeneralReqA2.ProtoReflect.Descriptor instead.
func (*RPCGeneralReqA2) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{21}
return file_comm_proto_rawDescGZIP(), []int{22}
}
func (x *RPCGeneralReqA2) GetParam1() string {
@ -1443,7 +1523,7 @@ type RPCGeneralReqA3 struct {
func (x *RPCGeneralReqA3) Reset() {
*x = RPCGeneralReqA3{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[22]
mi := &file_comm_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1456,7 +1536,7 @@ func (x *RPCGeneralReqA3) String() string {
func (*RPCGeneralReqA3) ProtoMessage() {}
func (x *RPCGeneralReqA3) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[22]
mi := &file_comm_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1469,7 +1549,7 @@ func (x *RPCGeneralReqA3) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCGeneralReqA3.ProtoReflect.Descriptor instead.
func (*RPCGeneralReqA3) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{22}
return file_comm_proto_rawDescGZIP(), []int{23}
}
func (x *RPCGeneralReqA3) GetParam1() string {
@ -1508,7 +1588,7 @@ type RPCGeneralReqA4 struct {
func (x *RPCGeneralReqA4) Reset() {
*x = RPCGeneralReqA4{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[23]
mi := &file_comm_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1521,7 +1601,7 @@ func (x *RPCGeneralReqA4) String() string {
func (*RPCGeneralReqA4) ProtoMessage() {}
func (x *RPCGeneralReqA4) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[23]
mi := &file_comm_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1534,7 +1614,7 @@ func (x *RPCGeneralReqA4) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCGeneralReqA4.ProtoReflect.Descriptor instead.
func (*RPCGeneralReqA4) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{23}
return file_comm_proto_rawDescGZIP(), []int{24}
}
func (x *RPCGeneralReqA4) GetParam1() string {
@ -1579,7 +1659,7 @@ type RPCRTaskReq struct {
func (x *RPCRTaskReq) Reset() {
*x = RPCRTaskReq{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[24]
mi := &file_comm_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1592,7 +1672,7 @@ func (x *RPCRTaskReq) String() string {
func (*RPCRTaskReq) ProtoMessage() {}
func (x *RPCRTaskReq) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[24]
mi := &file_comm_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1605,7 +1685,7 @@ func (x *RPCRTaskReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCRTaskReq.ProtoReflect.Descriptor instead.
func (*RPCRTaskReq) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{24}
return file_comm_proto_rawDescGZIP(), []int{25}
}
func (x *RPCRTaskReq) GetUid() string {
@ -1653,7 +1733,7 @@ type ServiceDBInfo struct {
func (x *ServiceDBInfo) Reset() {
*x = ServiceDBInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_comm_proto_msgTypes[25]
mi := &file_comm_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1666,7 +1746,7 @@ func (x *ServiceDBInfo) String() string {
func (*ServiceDBInfo) ProtoMessage() {}
func (x *ServiceDBInfo) ProtoReflect() protoreflect.Message {
mi := &file_comm_proto_msgTypes[25]
mi := &file_comm_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1679,7 +1759,7 @@ func (x *ServiceDBInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use ServiceDBInfo.ProtoReflect.Descriptor instead.
func (*ServiceDBInfo) Descriptor() ([]byte, []int) {
return file_comm_proto_rawDescGZIP(), []int{25}
return file_comm_proto_rawDescGZIP(), []int{26}
}
func (x *ServiceDBInfo) GetServerid() string {
@ -1865,101 +1945,112 @@ var file_comm_proto_rawDesc = []byte{
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xae,
0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x6f,
0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55, 0x73,
0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55,
0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65,
0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61,
0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22,
0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07,
0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73,
0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c,
0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76,
0x22, 0x36, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x0c,
0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01,
0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x22, 0x42, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72,
0x41, 0x74, 0x6e, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54,
0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x12, 0x0c,
0x0a, 0x01, 0x4f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x4f, 0x22, 0x39, 0x0a, 0x09,
0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x72,
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73, 0x74, 0x12,
0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x54, 0x0a, 0x0a, 0x52, 0x74, 0x61, 0x73, 0x6b,
0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18,
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x1a, 0x0a,
0x06, 0x55, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x07, 0x4e, 0x61, 0x6d,
0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x52, 0x65, 0x71, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x65, 0x73,
0x70, 0x22, 0x29, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52,
0x65, 0x71, 0x41, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x22, 0x41, 0x0a, 0x0f,
0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x32, 0x12,
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0xaf,
0x01, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43, 0x72, 0x65,
0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x55,
0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73,
0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54,
0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64,
0x22, 0xae, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x63, 0x65, 0x55, 0x73, 0x65, 0x72, 0x43,
0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x53,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55,
0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x54, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49,
0x64, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18,
0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c,
0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c,
0x4c, 0x76, 0x22, 0x36, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73,
0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x41, 0x12, 0x0c,
0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01,
0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e, 0x22, 0x42, 0x0a, 0x08, 0x55, 0x73,
0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x12, 0x0c, 0x0a, 0x01, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x01, 0x41, 0x12, 0x0c, 0x0a, 0x01, 0x54, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x01, 0x54, 0x12, 0x0c, 0x0a, 0x01, 0x4e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x4e,
0x12, 0x0c, 0x0a, 0x01, 0x4f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x01, 0x4f, 0x22, 0x39,
0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x66,
0x69, 0x72, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x69, 0x72, 0x73,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x22, 0x54, 0x0a, 0x0a, 0x52, 0x74, 0x61,
0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22,
0x1a, 0x0a, 0x06, 0x55, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x07, 0x4e,
0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, 0x0a, 0x08, 0x45, 0x6d,
0x70, 0x74, 0x79, 0x52, 0x65, 0x71, 0x22, 0x0b, 0x0a, 0x09, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
0x65, 0x73, 0x70, 0x22, 0x29, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
0x6c, 0x52, 0x65, 0x71, 0x41, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x22, 0x41,
0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41,
0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x32, 0x22, 0x59, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52,
0x65, 0x71, 0x41, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x71, 0x0a, 0x0f,
0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x34, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x22,
0x59, 0x0a, 0x0f, 0x52, 0x50, 0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71,
0x41, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61,
0x6d, 0x32, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x22, 0x71, 0x0a, 0x0f, 0x52, 0x50,
0x43, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x41, 0x34, 0x12, 0x16, 0x0a,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12, 0x16, 0x0a,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70,
0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x22, 0x51, 0x0a,
0x0b, 0x52, 0x50, 0x43, 0x52, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03,
0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a,
0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61,
0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x22, 0xa1, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x42, 0x49, 0x6e,
0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64, 0x12, 0x1e,
0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14,
0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f,
0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72,
0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x6f,
0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x6e, 0x67,
0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e,
0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x49, 0x73, 0x43,
0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x72, 0x65,
0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52,
0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65,
0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64,
0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x05, 0x52, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f,
0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x6f,
0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61,
0x62, 0x61, 0x73, 0x65, 0x2a, 0x43, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74, 0x74, 0x72,
0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x48, 0x70,
0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x74, 0x6b, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44,
0x65, 0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x10, 0x03, 0x12,
0x08, 0x0a, 0x04, 0x43, 0x72, 0x69, 0x74, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x32, 0x12,
0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d,
0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x34, 0x22,
0x51, 0x0a, 0x0b, 0x52, 0x50, 0x43, 0x52, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x10,
0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x05, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x22, 0xa1, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x42,
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x69, 0x64,
0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x18,
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07,
0x63, 0x72, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63,
0x72, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70,
0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70,
0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x64, 0x69, 0x73, 0x49,
0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
0x72, 0x65, 0x64, 0x69, 0x73, 0x49, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x1c,
0x0a, 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28,
0x09, 0x52, 0x09, 0x72, 0x65, 0x64, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0d,
0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x69, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f,
0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x64, 0x69, 0x73, 0x44, 0x62, 0x12, 0x1e, 0x0a, 0x0a,
0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f,
0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x18,
0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x64, 0x62, 0x44, 0x61,
0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x2a, 0x43, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x41, 0x74,
0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02,
0x48, 0x70, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x74, 0x6b, 0x10, 0x01, 0x12, 0x07, 0x0a,
0x03, 0x44, 0x65, 0x66, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x70, 0x65, 0x65, 0x64, 0x10,
0x03, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x72, 0x69, 0x74, 0x10, 0x04, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -1975,7 +2066,7 @@ func file_comm_proto_rawDescGZIP() []byte {
}
var file_comm_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_comm_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_comm_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_comm_proto_goTypes = []interface{}{
(HeroAttributesType)(0), // 0: HeroAttributesType
(*UserMessage)(nil), // 1: UserMessage
@ -1988,34 +2079,35 @@ var file_comm_proto_goTypes = []interface{}{
(*BroadCastMessageReq)(nil), // 8: BroadCastMessageReq
(*AgentCloseeReq)(nil), // 9: AgentCloseeReq
(*NoticeUserLoginReq)(nil), // 10: NoticeUserLoginReq
(*NoticeUserCloseReq)(nil), // 11: NoticeUserCloseReq
(*SkillData)(nil), // 12: SkillData
(*UserAssets)(nil), // 13: UserAssets
(*UserAtno)(nil), // 14: UserAtno
(*TaskParam)(nil), // 15: TaskParam
(*RtaskParam)(nil), // 16: RtaskParam
(*UIdReq)(nil), // 17: UIdReq
(*NameReq)(nil), // 18: NameReq
(*EmptyReq)(nil), // 19: EmptyReq
(*EmptyResp)(nil), // 20: EmptyResp
(*RPCGeneralReqA1)(nil), // 21: RPCGeneralReqA1
(*RPCGeneralReqA2)(nil), // 22: RPCGeneralReqA2
(*RPCGeneralReqA3)(nil), // 23: RPCGeneralReqA3
(*RPCGeneralReqA4)(nil), // 24: RPCGeneralReqA4
(*RPCRTaskReq)(nil), // 25: RPCRTaskReq
(*ServiceDBInfo)(nil), // 26: ServiceDBInfo
(*anypb.Any)(nil), // 27: google.protobuf.Any
(ErrorCode)(0), // 28: ErrorCode
(*NoticeUserCreateReq)(nil), // 11: NoticeUserCreateReq
(*NoticeUserCloseReq)(nil), // 12: NoticeUserCloseReq
(*SkillData)(nil), // 13: SkillData
(*UserAssets)(nil), // 14: UserAssets
(*UserAtno)(nil), // 15: UserAtno
(*TaskParam)(nil), // 16: TaskParam
(*RtaskParam)(nil), // 17: RtaskParam
(*UIdReq)(nil), // 18: UIdReq
(*NameReq)(nil), // 19: NameReq
(*EmptyReq)(nil), // 20: EmptyReq
(*EmptyResp)(nil), // 21: EmptyResp
(*RPCGeneralReqA1)(nil), // 22: RPCGeneralReqA1
(*RPCGeneralReqA2)(nil), // 23: RPCGeneralReqA2
(*RPCGeneralReqA3)(nil), // 24: RPCGeneralReqA3
(*RPCGeneralReqA4)(nil), // 25: RPCGeneralReqA4
(*RPCRTaskReq)(nil), // 26: RPCRTaskReq
(*ServiceDBInfo)(nil), // 27: ServiceDBInfo
(*anypb.Any)(nil), // 28: google.protobuf.Any
(ErrorCode)(0), // 29: ErrorCode
}
var file_comm_proto_depIdxs = []int32{
27, // 0: UserMessage.data:type_name -> google.protobuf.Any
27, // 1: AgentMessage.Message:type_name -> google.protobuf.Any
28, // 2: RPCMessageReply.Code:type_name -> ErrorCode
27, // 3: RPCMessageReply.ErrorData:type_name -> google.protobuf.Any
28, // 0: UserMessage.data:type_name -> google.protobuf.Any
28, // 1: AgentMessage.Message:type_name -> google.protobuf.Any
29, // 2: RPCMessageReply.Code:type_name -> ErrorCode
28, // 3: RPCMessageReply.ErrorData:type_name -> google.protobuf.Any
1, // 4: RPCMessageReply.Reply:type_name -> UserMessage
1, // 5: AgentSendMessageReq.Reply:type_name -> UserMessage
27, // 6: BatchMessageReq.Data:type_name -> google.protobuf.Any
27, // 7: BroadCastMessageReq.Data:type_name -> google.protobuf.Any
28, // 6: BatchMessageReq.Data:type_name -> google.protobuf.Any
28, // 7: BroadCastMessageReq.Data:type_name -> google.protobuf.Any
8, // [8:8] is the sub-list for method output_type
8, // [8:8] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
@ -2151,7 +2243,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NoticeUserCloseReq); i {
switch v := v.(*NoticeUserCreateReq); i {
case 0:
return &v.state
case 1:
@ -2163,7 +2255,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SkillData); i {
switch v := v.(*NoticeUserCloseReq); i {
case 0:
return &v.state
case 1:
@ -2175,7 +2267,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserAssets); i {
switch v := v.(*SkillData); i {
case 0:
return &v.state
case 1:
@ -2187,7 +2279,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UserAtno); i {
switch v := v.(*UserAssets); i {
case 0:
return &v.state
case 1:
@ -2199,7 +2291,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TaskParam); i {
switch v := v.(*UserAtno); i {
case 0:
return &v.state
case 1:
@ -2211,7 +2303,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RtaskParam); i {
switch v := v.(*TaskParam); i {
case 0:
return &v.state
case 1:
@ -2223,7 +2315,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UIdReq); i {
switch v := v.(*RtaskParam); i {
case 0:
return &v.state
case 1:
@ -2235,7 +2327,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NameReq); i {
switch v := v.(*UIdReq); i {
case 0:
return &v.state
case 1:
@ -2247,7 +2339,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmptyReq); i {
switch v := v.(*NameReq); i {
case 0:
return &v.state
case 1:
@ -2259,7 +2351,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmptyResp); i {
switch v := v.(*EmptyReq); i {
case 0:
return &v.state
case 1:
@ -2271,7 +2363,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCGeneralReqA1); i {
switch v := v.(*EmptyResp); i {
case 0:
return &v.state
case 1:
@ -2283,7 +2375,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCGeneralReqA2); i {
switch v := v.(*RPCGeneralReqA1); i {
case 0:
return &v.state
case 1:
@ -2295,7 +2387,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCGeneralReqA3); i {
switch v := v.(*RPCGeneralReqA2); i {
case 0:
return &v.state
case 1:
@ -2307,7 +2399,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCGeneralReqA4); i {
switch v := v.(*RPCGeneralReqA3); i {
case 0:
return &v.state
case 1:
@ -2319,7 +2411,7 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCRTaskReq); i {
switch v := v.(*RPCGeneralReqA4); i {
case 0:
return &v.state
case 1:
@ -2331,6 +2423,18 @@ func file_comm_proto_init() {
}
}
file_comm_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCRTaskReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_comm_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServiceDBInfo); i {
case 0:
return &v.state
@ -2349,7 +2453,7 @@ func file_comm_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_comm_proto_rawDesc,
NumEnums: 1,
NumMessages: 26,
NumMessages: 27,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -85,11 +85,12 @@ func (this *SCompGateRoute) Init(service core.IService, comp core.IServiceComp,
// 组件启动时注册rpc服务监听
func (this *SCompGateRoute) Start() (err error) {
this.service.RegisterFunctionName(string(comm.Rpc_GatewayRoute), this.ReceiveMsg) //注册网关路由接收接口
this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserLogin), this.NoticeUserLogin) //注册用户登录通知
this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserClose), this.NoticeUserClose) //注册用户离线通知
this.service.RegisterFunctionName(string(comm.Rpc_ConfigureUpDate), this.ConfigureUpDate) //注册配置更新
if db.IsCross() { //跨服环境
this.service.RegisterFunctionName(string(comm.Rpc_GatewayRoute), this.ReceiveMsg) //注册网关路由接收接口
this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserLogin), this.NoticeUserLogin) //注册用户登录通知
this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserCreate), this.NoticeUserCreate) //注册用户离线创角
this.service.RegisterFunctionName(string(comm.Rpc_GatewayNoticeUserClose), this.NoticeUserClose) //注册用户离线通知
this.service.RegisterFunctionName(string(comm.Rpc_ConfigureUpDate), this.ConfigureUpDate) //注册配置更新
if db.IsCross() { //跨服环境
this.service.RegisterFunctionName(string(comm.Rpc_DBSyncCross), this.DBSyncCross) //注册配置更新
}
err = this.ServiceCompBase.Start()
@ -190,6 +191,7 @@ func (this *SCompGateRoute) ReceiveMsg(ctx context.Context, args *pb.AgentMessag
// RPC_NoticeUserClose 接收用户登录通知
func (this *SCompGateRoute) NoticeUserLogin(ctx context.Context, args *pb.NoticeUserLoginReq, reply *pb.RPCMessageReply) error {
log.Debug("RPC_NoticeUserLogin", log.Field{Key: "args", Value: args})
conn, err := db.Local()
if err != nil {
log.Errorf("[RPC] NoticeUserLogin err: %v", err)
@ -210,17 +212,24 @@ func (this *SCompGateRoute) NoticeUserLogin(ctx context.Context, args *pb.Notice
GatewayServiceId: args.GatewayServiceId,
Ip: args.Ip,
}, db.SetDBMgoLog(false))
session := this.pools.Get().(comm.IUserSession)
session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId)
event.TriggerEvent(comm.EventUserLogin, session)
// session := this.pools.Get().(comm.IUserSession)
// session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId)
event.TriggerEvent(comm.EventUserLogin, args.UserId)
return nil
}
func (this *SCompGateRoute) NoticeUserCreate(ctx context.Context, args *pb.NoticeUserCreateReq, reply *pb.RPCMessageReply) error {
log.Debug("RPC_NoticeUserCreate", log.Field{Key: "args", Value: args})
event.TriggerEvent(comm.EventCreateUser, args.UserId)
return nil
}
// RPC_NoticeUserClose 接收用户离线通知
func (this *SCompGateRoute) NoticeUserClose(ctx context.Context, args *pb.NoticeUserCloseReq, reply *pb.RPCMessageReply) error {
session := this.pools.Get().(comm.IUserSession)
session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId)
event.TriggerEvent(comm.EventUserOffline, session)
// session := this.pools.Get().(comm.IUserSession)
// session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId)
log.Debug("RPC_NoticeUserClose", log.Field{Key: "args", Value: args})
event.TriggerEvent(comm.EventUserOffline, args.UserId, args.UserSessionId)
return nil
}