♻️ RegisterParticipant add queue info

Signed-off-by: devad <cossjie@foxmail.com>

Former-commit-id: dcf79c70d7053ed7923e9bca6297877d923a5278
This commit is contained in:
devad 2023-08-18 10:30:17 +08:00
parent 8f6a1327f7
commit 3121b71085
9 changed files with 736 additions and 320 deletions

2
go.mod
View File

@ -16,7 +16,7 @@ require (
github.com/zeromicro/go-queue v1.1.8 github.com/zeromicro/go-queue v1.1.8
github.com/zeromicro/go-zero v1.5.4 github.com/zeromicro/go-zero v1.5.4
gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1 gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1
gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230811110436-43ae93ec1796 gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230817103341-2459e5bfc835
gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a
gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2 gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2
gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714030125-a52fa198ddf4 gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714030125-a52fa198ddf4

4
go.sum
View File

@ -1029,8 +1029,8 @@ github.com/zeromicro/go-zero v1.5.4 h1:kRvcYuxcHOkUZvg7887KQl77Qv4klGL7MqGkTBgkp
github.com/zeromicro/go-zero v1.5.4/go.mod h1:x/aUyLmSwRECvOyjOf+lhwThBOilJIY+s3slmPAeboA= github.com/zeromicro/go-zero v1.5.4/go.mod h1:x/aUyLmSwRECvOyjOf+lhwThBOilJIY+s3slmPAeboA=
gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1 h1:eh5H8d2+YsvN6uhkwMg6UbihPEDZcU2yKpXVYE8hDE0= gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1 h1:eh5H8d2+YsvN6uhkwMg6UbihPEDZcU2yKpXVYE8hDE0=
gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1/go.mod h1:OflOWySJqYAygcwL7vT2yVtfcUs9TM3kmoD+89Tbu7c= gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230814074259-99e24e1194d1/go.mod h1:OflOWySJqYAygcwL7vT2yVtfcUs9TM3kmoD+89Tbu7c=
gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230811110436-43ae93ec1796 h1:NxIT12DfQW3ff8fUwrEhHFwe/c9sIlxUG3g0XUh7v90= gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230817103341-2459e5bfc835 h1:WDCPqD8IrepGJXankkpG14Ny6inh9AldB0RX9WWa+ck=
gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230811110436-43ae93ec1796/go.mod h1:Jk4srb1NAFSn/kMWeo71/I02luZ8OrmVnUFWb8abr7I= gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230817103341-2459e5bfc835/go.mod h1:r/KLzUpupCV5jdxSfgDhc2pVjP0fBi3VhAWRttsBn30=
gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a h1:eSniMdLizPV3RNrz7/URgjT3Kpv1cTZ05jrWfxRJxHs= gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a h1:eSniMdLizPV3RNrz7/URgjT3Kpv1cTZ05jrWfxRJxHs=
gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a/go.mod h1:BhOgwM1LC+BD46DjTaQyYQVZs1CikwI5Pl/6qzKUexc= gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230719015658-08a29549d86a/go.mod h1:BhOgwM1LC+BD46DjTaQyYQVZs1CikwI5Pl/6qzKUexc=
gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2 h1:RcGSqhsod6VXLksSLqNjV0q/SCeoUv6CbThKmV9NTZE= gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2 h1:RcGSqhsod6VXLksSLqNjV0q/SCeoUv6CbThKmV9NTZE=

27
model/scqueuephyinfomodel.go Executable file
View File

@ -0,0 +1,27 @@
package model
import (
"github.com/zeromicro/go-zero/core/stores/cache"
"github.com/zeromicro/go-zero/core/stores/sqlx"
)
var _ ScQueuePhyInfoModel = (*customScQueuePhyInfoModel)(nil)
type (
// ScQueuePhyInfoModel is an interface to be customized, add more methods here,
// and implement the added methods in customScQueuePhyInfoModel.
ScQueuePhyInfoModel interface {
scQueuePhyInfoModel
}
customScQueuePhyInfoModel struct {
*defaultScQueuePhyInfoModel
}
)
// NewScQueuePhyInfoModel returns a model for the database table.
func NewScQueuePhyInfoModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) ScQueuePhyInfoModel {
return &customScQueuePhyInfoModel{
defaultScQueuePhyInfoModel: newScQueuePhyInfoModel(conn, c, opts...),
}
}

135
model/scqueuephyinfomodel_gen.go Executable file
View File

@ -0,0 +1,135 @@
// Code generated by goctl. DO NOT EDIT.
package model
import (
"context"
"database/sql"
"fmt"
"strings"
"time"
"github.com/zeromicro/go-zero/core/stores/builder"
"github.com/zeromicro/go-zero/core/stores/cache"
"github.com/zeromicro/go-zero/core/stores/sqlc"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/core/stringx"
)
var (
scQueuePhyInfoFieldNames = builder.RawFieldNames(&ScQueuePhyInfo{})
scQueuePhyInfoRows = strings.Join(scQueuePhyInfoFieldNames, ",")
scQueuePhyInfoRowsExpectAutoSet = strings.Join(stringx.Remove(scQueuePhyInfoFieldNames, "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), ",")
scQueuePhyInfoRowsWithPlaceHolder = strings.Join(stringx.Remove(scQueuePhyInfoFieldNames, "`id`", "`create_at`", "`create_time`", "`created_at`", "`update_at`", "`update_time`", "`updated_at`"), "=?,") + "=?"
cachePcmScQueuePhyInfoIdPrefix = "cache:pcm:scQueuePhyInfo:id:"
)
type (
scQueuePhyInfoModel interface {
Insert(ctx context.Context, data *ScQueuePhyInfo) (sql.Result, error)
FindOne(ctx context.Context, id int64) (*ScQueuePhyInfo, error)
Update(ctx context.Context, data *ScQueuePhyInfo) error
Delete(ctx context.Context, id int64) error
}
defaultScQueuePhyInfoModel struct {
sqlc.CachedConn
table string
}
ScQueuePhyInfo struct {
Id int64 `db:"id"` // id
QueueName string `db:"queue_name"` // 队列名称
QueNodes int64 `db:"que_nodes"` // 队列节点总数
QueMinNodect int64 `db:"que_min_nodect"` // 队列最小节点数
QueMaxNgpus int64 `db:"que_max_ngpus"` // 队列最大GPU卡数
QueMaxPpn int64 `db:"que_max_ppn"` // 使用该队列作业最大CPU核心数
QueChargeRate string `db:"que_charge_rate"` // 费率
QueMaxNcpus int64 `db:"que_max_ncpus"` // 用户最大可用核心数
QueMaxNdcus int64 `db:"que_max_ndcus"` // 队列总DCU卡数
QueMinNcpus int64 `db:"que_min_ncpus"` // 队列最小CPU核数
QueFreeNodes int64 `db:"que_free_nodes"` // 队列空闲节点数
QueMaxNodect int64 `db:"que_max_nodect"` // 队列作业最大节点数
QueMaxGpuPN int64 `db:"que_max_gpu_PN"` // 队列单作业最大GPU卡数
QueMaxWalltime string `db:"que_max_walltime"` // 队列最大运行时间
QueMaxDcuPN int64 `db:"que_max_dcu_PN"` // 队列单作业最大DCU卡数
ParticipantId int64 `db:"participant_id"` // 集群动态信息id
DeletedFlag int64 `db:"deleted_flag"` // 是否删除
CreatedBy sql.NullInt64 `db:"created_by"` // 创建人
CreatedTime time.Time `db:"created_time"` // 创建时间
UpdatedBy sql.NullInt64 `db:"updated_by"` // 更新人
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
}
)
func newScQueuePhyInfoModel(conn sqlx.SqlConn, c cache.CacheConf, opts ...cache.Option) *defaultScQueuePhyInfoModel {
return &defaultScQueuePhyInfoModel{
CachedConn: sqlc.NewConn(conn, c, opts...),
table: "`sc_queue_phy_info`",
}
}
func (m *defaultScQueuePhyInfoModel) withSession(session sqlx.Session) *defaultScQueuePhyInfoModel {
return &defaultScQueuePhyInfoModel{
CachedConn: m.CachedConn.WithSession(session),
table: "`sc_queue_phy_info`",
}
}
func (m *defaultScQueuePhyInfoModel) Delete(ctx context.Context, id int64) error {
pcmScQueuePhyInfoIdKey := fmt.Sprintf("%s%v", cachePcmScQueuePhyInfoIdPrefix, id)
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("delete from %s where `id` = ?", m.table)
return conn.ExecCtx(ctx, query, id)
}, pcmScQueuePhyInfoIdKey)
return err
}
func (m *defaultScQueuePhyInfoModel) FindOne(ctx context.Context, id int64) (*ScQueuePhyInfo, error) {
pcmScQueuePhyInfoIdKey := fmt.Sprintf("%s%v", cachePcmScQueuePhyInfoIdPrefix, id)
var resp ScQueuePhyInfo
err := m.QueryRowCtx(ctx, &resp, pcmScQueuePhyInfoIdKey, func(ctx context.Context, conn sqlx.SqlConn, v any) error {
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", scQueuePhyInfoRows, m.table)
return conn.QueryRowCtx(ctx, v, query, id)
})
switch err {
case nil:
return &resp, nil
case sqlc.ErrNotFound:
return nil, ErrNotFound
default:
return nil, err
}
}
func (m *defaultScQueuePhyInfoModel) Insert(ctx context.Context, data *ScQueuePhyInfo) (sql.Result, error) {
pcmScQueuePhyInfoIdKey := fmt.Sprintf("%s%v", cachePcmScQueuePhyInfoIdPrefix, data.Id)
ret, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("insert into %s (%s) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", m.table, scQueuePhyInfoRowsExpectAutoSet)
return conn.ExecCtx(ctx, query, data.Id, data.QueueName, data.QueNodes, data.QueMinNodect, data.QueMaxNgpus, data.QueMaxPpn, data.QueChargeRate, data.QueMaxNcpus, data.QueMaxNdcus, data.QueMinNcpus, data.QueFreeNodes, data.QueMaxNodect, data.QueMaxGpuPN, data.QueMaxWalltime, data.QueMaxDcuPN, data.ParticipantId, data.DeletedFlag, data.CreatedBy, data.CreatedTime, data.UpdatedBy, data.UpdatedTime)
}, pcmScQueuePhyInfoIdKey)
return ret, err
}
func (m *defaultScQueuePhyInfoModel) Update(ctx context.Context, data *ScQueuePhyInfo) error {
pcmScQueuePhyInfoIdKey := fmt.Sprintf("%s%v", cachePcmScQueuePhyInfoIdPrefix, data.Id)
_, err := m.ExecCtx(ctx, func(ctx context.Context, conn sqlx.SqlConn) (result sql.Result, err error) {
query := fmt.Sprintf("update %s set %s where `id` = ?", m.table, scQueuePhyInfoRowsWithPlaceHolder)
return conn.ExecCtx(ctx, query, data.QueueName, data.QueNodes, data.QueMinNodect, data.QueMaxNgpus, data.QueMaxPpn, data.QueChargeRate, data.QueMaxNcpus, data.QueMaxNdcus, data.QueMinNcpus, data.QueFreeNodes, data.QueMaxNodect, data.QueMaxGpuPN, data.QueMaxWalltime, data.QueMaxDcuPN, data.ParticipantId, data.DeletedFlag, data.CreatedBy, data.CreatedTime, data.UpdatedBy, data.UpdatedTime, data.Id)
}, pcmScQueuePhyInfoIdKey)
return err
}
func (m *defaultScQueuePhyInfoModel) formatPrimary(primary any) string {
return fmt.Sprintf("%s%v", cachePcmScQueuePhyInfoIdPrefix, primary)
}
func (m *defaultScQueuePhyInfoModel) queryPrimary(ctx context.Context, conn sqlx.SqlConn, v, primary any) error {
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", scQueuePhyInfoRows, m.table)
return conn.QueryRowCtx(ctx, v, query, primary)
}
func (m *defaultScQueuePhyInfoModel) tableName() string {
return m.table
}

View File

@ -32,6 +32,7 @@ type (
ParticipantResp = pcmCore.ParticipantResp ParticipantResp = pcmCore.ParticipantResp
ParticipantServiceResp = pcmCore.ParticipantServiceResp ParticipantServiceResp = pcmCore.ParticipantServiceResp
ParticipantTenant = pcmCore.ParticipantTenant ParticipantTenant = pcmCore.ParticipantTenant
QueuePhyInfo = pcmCore.QueuePhyInfo
SyncInfoReq = pcmCore.SyncInfoReq SyncInfoReq = pcmCore.SyncInfoReq
SyncInfoResp = pcmCore.SyncInfoResp SyncInfoResp = pcmCore.SyncInfoResp

View File

@ -32,6 +32,7 @@ type (
ParticipantResp = pcmCore.ParticipantResp ParticipantResp = pcmCore.ParticipantResp
ParticipantServiceResp = pcmCore.ParticipantServiceResp ParticipantServiceResp = pcmCore.ParticipantServiceResp
ParticipantTenant = pcmCore.ParticipantTenant ParticipantTenant = pcmCore.ParticipantTenant
QueuePhyInfo = pcmCore.QueuePhyInfo
SyncInfoReq = pcmCore.SyncInfoReq SyncInfoReq = pcmCore.SyncInfoReq
SyncInfoResp = pcmCore.SyncInfoResp SyncInfoResp = pcmCore.SyncInfoResp

View File

@ -70,6 +70,21 @@ func (l *RegisterParticipantLogic) RegisterParticipant(in *pcmCore.ParticipantPh
nodeList = append(nodeList, nodeInfo) nodeList = append(nodeList, nodeInfo)
} }
result = db.Save(&nodeList) result = db.Save(&nodeList)
//保存队列信息
queueList := make([]*model.ScQueuePhyInfo, 0)
for _, info := range in.QueueInfo {
queueInfo := &model.ScQueuePhyInfo{}
tool.Convert(info, queueInfo)
queueInfo.CreatedTime = time.Now()
queueInfo.ParticipantId = participantInfo.Id
//查询队列name与ParticipantId是否存在
queueErr := db.Where(&model.ScQueuePhyInfo{QueueName: queueInfo.QueueName, ParticipantId: in.ParticipantId}).Take(queueInfo)
if errors.Is(queueErr.Error, gorm.ErrRecordNotFound) {
queueInfo.Id = tool.GenSnowflakeID()
}
queueList = append(queueList, queueInfo)
}
result = db.Save(&queueList)
//保存标签信息 //保存标签信息
labelList := make([]*model.ScParticipantLabelInfo, 0) labelList := make([]*model.ScParticipantLabelInfo, 0)
for _, label := range in.LabelInfo { for _, label := range in.LabelInfo {

View File

@ -83,7 +83,6 @@ message InfoListResp{
repeated AiInfo AiInfoList = 3; repeated AiInfo AiInfoList = 3;
} }
// pcm core services // pcm core services
service pcmCore { service pcmCore {
@ -148,7 +147,8 @@ message ParticipantPhyReq {
repeated NodePhyInfo nodeInfo = 13; // repeated NodePhyInfo nodeInfo = 13; //
int64 participantId = 14; // participant id int64 participantId = 14; // participant id
repeated ParticipantLabel labelInfo = 15; // repeated ParticipantLabel labelInfo = 15; //
int64 id =16; //id repeated QueuePhyInfo queueInfo = 16; //
int64 id = 17; // id
} }
// NodePhyInfo // NodePhyInfo
@ -162,6 +162,25 @@ message NodePhyInfo {
string archFreq = 7; // string archFreq = 7; //
} }
// QueuePhyInfo
message QueuePhyInfo {
int64 id = 1; // id
string queueName=2; //
int64 queNodes = 3; //
int64 queMinNodect = 4; //
int64 queMaxNgpus = 5; // GPU卡数
int64 queMaxPpn = 6; // 使CPU核心数
string queChargeRate = 7; //
int64 queMaxNcpus = 8; //
int64 queMaxNdcus = 9; // DCU卡数
int64 queMinNcpus = 10; // CPU核数
int64 queFreeNodes = 11; //
int64 queMaxNodect = 12; //
int64 queMaxGpuPN = 13; // GPU卡数
string queMaxWalltime = 14; //
int64 queMaxDcuPN = 15; // DCU卡数
}
// ParticipantHeartbeatReq // ParticipantHeartbeatReq
message ParticipantHeartbeatReq { message ParticipantHeartbeatReq {
int64 participantId = 1; // participantId int64 participantId = 1; // participantId

View File

@ -1129,7 +1129,8 @@ type ParticipantPhyReq struct {
NodeInfo []*NodePhyInfo `protobuf:"bytes,13,rep,name=nodeInfo,proto3" json:"nodeInfo,omitempty"` // 节点信息 NodeInfo []*NodePhyInfo `protobuf:"bytes,13,rep,name=nodeInfo,proto3" json:"nodeInfo,omitempty"` // 节点信息
ParticipantId int64 `protobuf:"varint,14,opt,name=participantId,proto3" json:"participantId,omitempty"` // participant id ParticipantId int64 `protobuf:"varint,14,opt,name=participantId,proto3" json:"participantId,omitempty"` // participant id
LabelInfo []*ParticipantLabel `protobuf:"bytes,15,rep,name=labelInfo,proto3" json:"labelInfo,omitempty"` // 标签信息 LabelInfo []*ParticipantLabel `protobuf:"bytes,15,rep,name=labelInfo,proto3" json:"labelInfo,omitempty"` // 标签信息
Id int64 `protobuf:"varint,16,opt,name=id,proto3" json:"id,omitempty"` //id QueueInfo []*QueuePhyInfo `protobuf:"bytes,16,rep,name=queueInfo,proto3" json:"queueInfo,omitempty"` // 队列信息
Id int64 `protobuf:"varint,17,opt,name=id,proto3" json:"id,omitempty"` // id
} }
func (x *ParticipantPhyReq) Reset() { func (x *ParticipantPhyReq) Reset() {
@ -1269,6 +1270,13 @@ func (x *ParticipantPhyReq) GetLabelInfo() []*ParticipantLabel {
return nil return nil
} }
func (x *ParticipantPhyReq) GetQueueInfo() []*QueuePhyInfo {
if x != nil {
return x.QueueInfo
}
return nil
}
func (x *ParticipantPhyReq) GetId() int64 { func (x *ParticipantPhyReq) GetId() int64 {
if x != nil { if x != nil {
return x.Id return x.Id
@ -1372,6 +1380,166 @@ func (x *NodePhyInfo) GetArchFreq() string {
return "" return ""
} }
// QueuePhyInfo 队列信息
type QueuePhyInfo struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // id
QueueName string `protobuf:"bytes,2,opt,name=queueName,proto3" json:"queueName,omitempty"` //队列名称
QueNodes int64 `protobuf:"varint,3,opt,name=queNodes,proto3" json:"queNodes,omitempty"` // 队列节点总数
QueMinNodect int64 `protobuf:"varint,4,opt,name=queMinNodect,proto3" json:"queMinNodect,omitempty"` // 队列最小节点数
QueMaxNgpus int64 `protobuf:"varint,5,opt,name=queMaxNgpus,proto3" json:"queMaxNgpus,omitempty"` // 队列最大GPU卡数
QueMaxPpn int64 `protobuf:"varint,6,opt,name=queMaxPpn,proto3" json:"queMaxPpn,omitempty"` // 使用该队列作业最大CPU核心数
QueChargeRate string `protobuf:"bytes,7,opt,name=queChargeRate,proto3" json:"queChargeRate,omitempty"` // 费率
QueMaxNcpus int64 `protobuf:"varint,8,opt,name=queMaxNcpus,proto3" json:"queMaxNcpus,omitempty"` // 用户最大可用核心数
QueMaxNdcus int64 `protobuf:"varint,9,opt,name=queMaxNdcus,proto3" json:"queMaxNdcus,omitempty"` // 队列总DCU卡数
QueMinNcpus int64 `protobuf:"varint,10,opt,name=queMinNcpus,proto3" json:"queMinNcpus,omitempty"` // 队列最小CPU核数
QueFreeNodes int64 `protobuf:"varint,11,opt,name=queFreeNodes,proto3" json:"queFreeNodes,omitempty"` // 队列空闲节点数
QueMaxNodect int64 `protobuf:"varint,12,opt,name=queMaxNodect,proto3" json:"queMaxNodect,omitempty"` // 队列作业最大节点数
QueMaxGpuPN int64 `protobuf:"varint,13,opt,name=queMaxGpuPN,proto3" json:"queMaxGpuPN,omitempty"` // 队列单作业最大GPU卡数
QueMaxWalltime string `protobuf:"bytes,14,opt,name=queMaxWalltime,proto3" json:"queMaxWalltime,omitempty"` // 队列最大运行时间
QueMaxDcuPN int64 `protobuf:"varint,15,opt,name=queMaxDcuPN,proto3" json:"queMaxDcuPN,omitempty"` // 队列单作业最大DCU卡数
}
func (x *QueuePhyInfo) Reset() {
*x = QueuePhyInfo{}
if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueuePhyInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueuePhyInfo) ProtoMessage() {}
func (x *QueuePhyInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[14]
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 QueuePhyInfo.ProtoReflect.Descriptor instead.
func (*QueuePhyInfo) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{14}
}
func (x *QueuePhyInfo) GetId() int64 {
if x != nil {
return x.Id
}
return 0
}
func (x *QueuePhyInfo) GetQueueName() string {
if x != nil {
return x.QueueName
}
return ""
}
func (x *QueuePhyInfo) GetQueNodes() int64 {
if x != nil {
return x.QueNodes
}
return 0
}
func (x *QueuePhyInfo) GetQueMinNodect() int64 {
if x != nil {
return x.QueMinNodect
}
return 0
}
func (x *QueuePhyInfo) GetQueMaxNgpus() int64 {
if x != nil {
return x.QueMaxNgpus
}
return 0
}
func (x *QueuePhyInfo) GetQueMaxPpn() int64 {
if x != nil {
return x.QueMaxPpn
}
return 0
}
func (x *QueuePhyInfo) GetQueChargeRate() string {
if x != nil {
return x.QueChargeRate
}
return ""
}
func (x *QueuePhyInfo) GetQueMaxNcpus() int64 {
if x != nil {
return x.QueMaxNcpus
}
return 0
}
func (x *QueuePhyInfo) GetQueMaxNdcus() int64 {
if x != nil {
return x.QueMaxNdcus
}
return 0
}
func (x *QueuePhyInfo) GetQueMinNcpus() int64 {
if x != nil {
return x.QueMinNcpus
}
return 0
}
func (x *QueuePhyInfo) GetQueFreeNodes() int64 {
if x != nil {
return x.QueFreeNodes
}
return 0
}
func (x *QueuePhyInfo) GetQueMaxNodect() int64 {
if x != nil {
return x.QueMaxNodect
}
return 0
}
func (x *QueuePhyInfo) GetQueMaxGpuPN() int64 {
if x != nil {
return x.QueMaxGpuPN
}
return 0
}
func (x *QueuePhyInfo) GetQueMaxWalltime() string {
if x != nil {
return x.QueMaxWalltime
}
return ""
}
func (x *QueuePhyInfo) GetQueMaxDcuPN() int64 {
if x != nil {
return x.QueMaxDcuPN
}
return 0
}
// ParticipantHeartbeatReq 心跳请求 // ParticipantHeartbeatReq 心跳请求
type ParticipantHeartbeatReq struct { type ParticipantHeartbeatReq struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -1386,7 +1554,7 @@ type ParticipantHeartbeatReq struct {
func (x *ParticipantHeartbeatReq) Reset() { func (x *ParticipantHeartbeatReq) Reset() {
*x = ParticipantHeartbeatReq{} *x = ParticipantHeartbeatReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[14] mi := &file_pb_pcmCore_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1399,7 +1567,7 @@ func (x *ParticipantHeartbeatReq) String() string {
func (*ParticipantHeartbeatReq) ProtoMessage() {} func (*ParticipantHeartbeatReq) ProtoMessage() {}
func (x *ParticipantHeartbeatReq) ProtoReflect() protoreflect.Message { func (x *ParticipantHeartbeatReq) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[14] mi := &file_pb_pcmCore_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1412,7 +1580,7 @@ func (x *ParticipantHeartbeatReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParticipantHeartbeatReq.ProtoReflect.Descriptor instead. // Deprecated: Use ParticipantHeartbeatReq.ProtoReflect.Descriptor instead.
func (*ParticipantHeartbeatReq) Descriptor() ([]byte, []int) { func (*ParticipantHeartbeatReq) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{14} return file_pb_pcmCore_proto_rawDescGZIP(), []int{15}
} }
func (x *ParticipantHeartbeatReq) GetParticipantId() int64 { func (x *ParticipantHeartbeatReq) GetParticipantId() int64 {
@ -1454,7 +1622,7 @@ type ParticipantAvailReq struct {
func (x *ParticipantAvailReq) Reset() { func (x *ParticipantAvailReq) Reset() {
*x = ParticipantAvailReq{} *x = ParticipantAvailReq{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[15] mi := &file_pb_pcmCore_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1467,7 +1635,7 @@ func (x *ParticipantAvailReq) String() string {
func (*ParticipantAvailReq) ProtoMessage() {} func (*ParticipantAvailReq) ProtoMessage() {}
func (x *ParticipantAvailReq) ProtoReflect() protoreflect.Message { func (x *ParticipantAvailReq) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[15] mi := &file_pb_pcmCore_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1480,7 +1648,7 @@ func (x *ParticipantAvailReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParticipantAvailReq.ProtoReflect.Descriptor instead. // Deprecated: Use ParticipantAvailReq.ProtoReflect.Descriptor instead.
func (*ParticipantAvailReq) Descriptor() ([]byte, []int) { func (*ParticipantAvailReq) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{15} return file_pb_pcmCore_proto_rawDescGZIP(), []int{16}
} }
func (x *ParticipantAvailReq) GetId() int64 { func (x *ParticipantAvailReq) GetId() int64 {
@ -1554,7 +1722,7 @@ type NodeAvailInfo struct {
func (x *NodeAvailInfo) Reset() { func (x *NodeAvailInfo) Reset() {
*x = NodeAvailInfo{} *x = NodeAvailInfo{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[16] mi := &file_pb_pcmCore_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1567,7 +1735,7 @@ func (x *NodeAvailInfo) String() string {
func (*NodeAvailInfo) ProtoMessage() {} func (*NodeAvailInfo) ProtoMessage() {}
func (x *NodeAvailInfo) ProtoReflect() protoreflect.Message { func (x *NodeAvailInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[16] mi := &file_pb_pcmCore_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1580,7 +1748,7 @@ func (x *NodeAvailInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use NodeAvailInfo.ProtoReflect.Descriptor instead. // Deprecated: Use NodeAvailInfo.ProtoReflect.Descriptor instead.
func (*NodeAvailInfo) Descriptor() ([]byte, []int) { func (*NodeAvailInfo) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{16} return file_pb_pcmCore_proto_rawDescGZIP(), []int{17}
} }
func (x *NodeAvailInfo) GetId() int64 { func (x *NodeAvailInfo) GetId() int64 {
@ -1674,7 +1842,7 @@ type ListParticipantAvailResp struct {
func (x *ListParticipantAvailResp) Reset() { func (x *ListParticipantAvailResp) Reset() {
*x = ListParticipantAvailResp{} *x = ListParticipantAvailResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[17] mi := &file_pb_pcmCore_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1687,7 +1855,7 @@ func (x *ListParticipantAvailResp) String() string {
func (*ListParticipantAvailResp) ProtoMessage() {} func (*ListParticipantAvailResp) ProtoMessage() {}
func (x *ListParticipantAvailResp) ProtoReflect() protoreflect.Message { func (x *ListParticipantAvailResp) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[17] mi := &file_pb_pcmCore_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1700,7 +1868,7 @@ func (x *ListParticipantAvailResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListParticipantAvailResp.ProtoReflect.Descriptor instead. // Deprecated: Use ListParticipantAvailResp.ProtoReflect.Descriptor instead.
func (*ListParticipantAvailResp) Descriptor() ([]byte, []int) { func (*ListParticipantAvailResp) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{17} return file_pb_pcmCore_proto_rawDescGZIP(), []int{18}
} }
func (x *ListParticipantAvailResp) GetCode() int64 { func (x *ListParticipantAvailResp) GetCode() int64 {
@ -1736,7 +1904,7 @@ type ParticipantResp struct {
func (x *ParticipantResp) Reset() { func (x *ParticipantResp) Reset() {
*x = ParticipantResp{} *x = ParticipantResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[18] mi := &file_pb_pcmCore_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1749,7 +1917,7 @@ func (x *ParticipantResp) String() string {
func (*ParticipantResp) ProtoMessage() {} func (*ParticipantResp) ProtoMessage() {}
func (x *ParticipantResp) ProtoReflect() protoreflect.Message { func (x *ParticipantResp) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[18] mi := &file_pb_pcmCore_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1762,7 +1930,7 @@ func (x *ParticipantResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParticipantResp.ProtoReflect.Descriptor instead. // Deprecated: Use ParticipantResp.ProtoReflect.Descriptor instead.
func (*ParticipantResp) Descriptor() ([]byte, []int) { func (*ParticipantResp) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{18} return file_pb_pcmCore_proto_rawDescGZIP(), []int{19}
} }
func (x *ParticipantResp) GetCode() int64 { func (x *ParticipantResp) GetCode() int64 {
@ -1792,7 +1960,7 @@ type ParticipantServiceResp struct {
func (x *ParticipantServiceResp) Reset() { func (x *ParticipantServiceResp) Reset() {
*x = ParticipantServiceResp{} *x = ParticipantServiceResp{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[19] mi := &file_pb_pcmCore_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1805,7 +1973,7 @@ func (x *ParticipantServiceResp) String() string {
func (*ParticipantServiceResp) ProtoMessage() {} func (*ParticipantServiceResp) ProtoMessage() {}
func (x *ParticipantServiceResp) ProtoReflect() protoreflect.Message { func (x *ParticipantServiceResp) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[19] mi := &file_pb_pcmCore_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1818,7 +1986,7 @@ func (x *ParticipantServiceResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParticipantServiceResp.ProtoReflect.Descriptor instead. // Deprecated: Use ParticipantServiceResp.ProtoReflect.Descriptor instead.
func (*ParticipantServiceResp) Descriptor() ([]byte, []int) { func (*ParticipantServiceResp) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{19} return file_pb_pcmCore_proto_rawDescGZIP(), []int{20}
} }
func (x *ParticipantServiceResp) GetCode() int64 { func (x *ParticipantServiceResp) GetCode() int64 {
@ -1855,7 +2023,7 @@ type ClientInfo struct {
func (x *ClientInfo) Reset() { func (x *ClientInfo) Reset() {
*x = ClientInfo{} *x = ClientInfo{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_pb_pcmCore_proto_msgTypes[20] mi := &file_pb_pcmCore_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1868,7 +2036,7 @@ func (x *ClientInfo) String() string {
func (*ClientInfo) ProtoMessage() {} func (*ClientInfo) ProtoMessage() {}
func (x *ClientInfo) ProtoReflect() protoreflect.Message { func (x *ClientInfo) ProtoReflect() protoreflect.Message {
mi := &file_pb_pcmCore_proto_msgTypes[20] mi := &file_pb_pcmCore_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1881,7 +2049,7 @@ func (x *ClientInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use ClientInfo.ProtoReflect.Descriptor instead. // Deprecated: Use ClientInfo.ProtoReflect.Descriptor instead.
func (*ClientInfo) Descriptor() ([]byte, []int) { func (*ClientInfo) Descriptor() ([]byte, []int) {
return file_pb_pcmCore_proto_rawDescGZIP(), []int{20} return file_pb_pcmCore_proto_rawDescGZIP(), []int{21}
} }
func (x *ClientInfo) GetHost() string { func (x *ClientInfo) GetHost() string {
@ -2056,7 +2224,7 @@ var file_pb_pcmCore_proto_rawDesc = []byte{
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72,
0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79,
0x52, 0x65, 0x71, 0x52, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x52, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x50, 0x68, 0x79, 0x73, 0x22, 0xae, 0x04, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x50, 0x68, 0x79, 0x73, 0x22, 0xe3, 0x04, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69,
0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f,
@ -2090,135 +2258,171 @@ var file_pb_pcmCore_proto_rawDesc = []byte{
0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x19, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e,
0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x68, 0x66, 0x6f, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f,
0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x72, 0x65, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52,
0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x4e,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x6f, 0x64, 0x65, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x54, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65,
0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x54, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c,
0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, 0x71, 0x18, 0x07, 0x20, 0x01, 0x28, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, 0x71, 0x22, 0x67, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68,
0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, 0x71,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, 0x71,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x22, 0xfc, 0x03, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66,
0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
0x70, 0x6f, 0x72, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x03, 0x52, 0x08, 0x71, 0x75, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71,
0x61, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x03, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x12,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75, 0x73, 0x18, 0x05,
0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x67, 0x70, 0x75,
0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x70, 0x6e, 0x18, 0x06,
0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x70, 0x6e, 0x12,
0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x75, 0x24, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65,
0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x71, 0x75, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67,
0x03, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e,
0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x63, 0x70, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d,
0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x61, 0x78, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61,
0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x71, 0x75,
0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x64, 0x63, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65,
0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x71, 0x75, 0x65, 0x4d, 0x69, 0x6e, 0x4e, 0x63, 0x70, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x71,
0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd1, 0x02, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x03, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x46, 0x72, 0x65, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12,
0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x22, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x63, 0x74, 0x18,
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x4e, 0x6f, 0x64,
0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x47, 0x70, 0x75,
0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x50, 0x4e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78,
0x0a, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x47, 0x70, 0x75, 0x50, 0x4e, 0x12, 0x26, 0x0a, 0x0e, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57,
0x01, 0x52, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71,
0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x57, 0x61, 0x6c, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a,
0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x18, 0x0f, 0x20, 0x01,
0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x28, 0x03, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x4d, 0x61, 0x78, 0x44, 0x63, 0x75, 0x50, 0x4e, 0x22,
0x69, 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x54, 0x67, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65,
0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x54, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61,
0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64,
0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x28, 0x03, 0x52, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01,
0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x50, 0x61, 0x72,
0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x0b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64,
0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x76, 0x61,
0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x69, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18,
0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x4a, 0x0a, 0x11, 0x50, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x73, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18,
0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f,
0x6c, 0x52, 0x65, 0x71, 0x52, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x37, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72,
0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x6e, 0x6f,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28,
0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
0x22, 0x67, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd1, 0x02, 0x0a, 0x0d, 0x4e, 0x6f, 0x64,
0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f,
0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f,
0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74,
0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74,
0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20,
0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c,
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
0x61, 0x6e, 0x74, 0x49, 0x64, 0x2a, 0x33, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x03, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08,
0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x6d, 0x65, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x6d, 0x65, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x41,
0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x32, 0x7b, 0x0a, 0x07, 0x70, 0x63, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x41,
0x6d, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c,
0x6f, 0x12, 0x14, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c,
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01,
0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x28, 0x03, 0x52, 0x08, 0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x2e, 0x0a, 0x12,
0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x70, 0x63, 0x6d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c,
0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a,
0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x32, 0x80, 0x04, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x50, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64,
0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12,
0x4a, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76,
0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x63, 0x6d,
0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74,
0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x52, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x37, 0x0a, 0x0f, 0x50,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6d, 0x73, 0x67, 0x22, 0x67, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6d, 0x73, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a,
0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x68,
0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70,
0x6f, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61,
0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x2a, 0x33, 0x0a, 0x0d, 0x4d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41,
0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10,
0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x02, 0x32, 0x7b,
0x0a, 0x07, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x53, 0x79, 0x6e,
0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e,
0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63,
0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x73, 0x70, 0x12, 0x37, 0x0a, 0x08, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14,
0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73,
0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x49,
0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x32, 0x80, 0x04, 0x0a, 0x12,
0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x50, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43,
0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50,
0x68, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e,
0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65,
0x71, 0x1a, 0x1b, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x20, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72,
0x12, 0x4f, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61,
0x65, 0x61, 0x74, 0x12, 0x20, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43,
0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52,
0x61, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41,
0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f,
0x00, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76,
0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x50, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e,
0x0a, 0x0f, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e,
0x74, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74,
0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x1a, 0x1f, 0x2e, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x73, 0x70, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x68, 0x79, 0x41,
0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f,
0x12, 0x53, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x68, 0x79, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x65,
0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x6e, 0x61, 0x6e, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4c,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76,
0x1a, 0x21, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73,
0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x74, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x68, 0x79, 0x1a, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x70, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x63,
0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63,
0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0a,
0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x5a, 0x08, 0x2f, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0a, 0x5a, 0x08, 0x2f, 0x70, 0x6f, 0x33,
0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
@ -2234,7 +2438,7 @@ func file_pb_pcmCore_proto_rawDescGZIP() []byte {
} }
var file_pb_pcmCore_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_pb_pcmCore_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_pb_pcmCore_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_pb_pcmCore_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_pb_pcmCore_proto_goTypes = []interface{}{ var file_pb_pcmCore_proto_goTypes = []interface{}{
(MessageStatus)(0), // 0: pcmCore.MessageStatus (MessageStatus)(0), // 0: pcmCore.MessageStatus
(*SyncInfoReq)(nil), // 1: pcmCore.SyncInfoReq (*SyncInfoReq)(nil), // 1: pcmCore.SyncInfoReq
@ -2251,13 +2455,14 @@ var file_pb_pcmCore_proto_goTypes = []interface{}{
(*ListParticipantPhyResp)(nil), // 12: pcmCore.ListParticipantPhyResp (*ListParticipantPhyResp)(nil), // 12: pcmCore.ListParticipantPhyResp
(*ParticipantPhyReq)(nil), // 13: pcmCore.ParticipantPhyReq (*ParticipantPhyReq)(nil), // 13: pcmCore.ParticipantPhyReq
(*NodePhyInfo)(nil), // 14: pcmCore.NodePhyInfo (*NodePhyInfo)(nil), // 14: pcmCore.NodePhyInfo
(*ParticipantHeartbeatReq)(nil), // 15: pcmCore.ParticipantHeartbeatReq (*QueuePhyInfo)(nil), // 15: pcmCore.QueuePhyInfo
(*ParticipantAvailReq)(nil), // 16: pcmCore.ParticipantAvailReq (*ParticipantHeartbeatReq)(nil), // 16: pcmCore.ParticipantHeartbeatReq
(*NodeAvailInfo)(nil), // 17: pcmCore.NodeAvailInfo (*ParticipantAvailReq)(nil), // 17: pcmCore.ParticipantAvailReq
(*ListParticipantAvailResp)(nil), // 18: pcmCore.ListParticipantAvailResp (*NodeAvailInfo)(nil), // 18: pcmCore.NodeAvailInfo
(*ParticipantResp)(nil), // 19: pcmCore.ParticipantResp (*ListParticipantAvailResp)(nil), // 19: pcmCore.ListParticipantAvailResp
(*ParticipantServiceResp)(nil), // 20: pcmCore.ParticipantServiceResp (*ParticipantResp)(nil), // 20: pcmCore.ParticipantResp
(*ClientInfo)(nil), // 21: pcmCore.ClientInfo (*ParticipantServiceResp)(nil), // 21: pcmCore.ParticipantServiceResp
(*ClientInfo)(nil), // 22: pcmCore.ClientInfo
} }
var file_pb_pcmCore_proto_depIdxs = []int32{ var file_pb_pcmCore_proto_depIdxs = []int32{
4, // 0: pcmCore.SyncInfoReq.HpcInfoList:type_name -> pcmCore.HpcInfo 4, // 0: pcmCore.SyncInfoReq.HpcInfoList:type_name -> pcmCore.HpcInfo
@ -2270,30 +2475,31 @@ var file_pb_pcmCore_proto_depIdxs = []int32{
13, // 7: pcmCore.ListParticipantPhyResp.ParticipantPhys:type_name -> pcmCore.ParticipantPhyReq 13, // 7: pcmCore.ListParticipantPhyResp.ParticipantPhys:type_name -> pcmCore.ParticipantPhyReq
14, // 8: pcmCore.ParticipantPhyReq.nodeInfo:type_name -> pcmCore.NodePhyInfo 14, // 8: pcmCore.ParticipantPhyReq.nodeInfo:type_name -> pcmCore.NodePhyInfo
9, // 9: pcmCore.ParticipantPhyReq.labelInfo:type_name -> pcmCore.ParticipantLabel 9, // 9: pcmCore.ParticipantPhyReq.labelInfo:type_name -> pcmCore.ParticipantLabel
17, // 10: pcmCore.ParticipantAvailReq.nodeAvailInfo:type_name -> pcmCore.NodeAvailInfo 15, // 10: pcmCore.ParticipantPhyReq.queueInfo:type_name -> pcmCore.QueuePhyInfo
16, // 11: pcmCore.ListParticipantAvailResp.ParticipantAvails:type_name -> pcmCore.ParticipantAvailReq 18, // 11: pcmCore.ParticipantAvailReq.nodeAvailInfo:type_name -> pcmCore.NodeAvailInfo
21, // 12: pcmCore.ParticipantServiceResp.data:type_name -> pcmCore.ClientInfo 17, // 12: pcmCore.ListParticipantAvailResp.ParticipantAvails:type_name -> pcmCore.ParticipantAvailReq
1, // 13: pcmCore.pcmCore.SyncInfo:input_type -> pcmCore.SyncInfoReq 22, // 13: pcmCore.ParticipantServiceResp.data:type_name -> pcmCore.ClientInfo
6, // 14: pcmCore.pcmCore.InfoList:input_type -> pcmCore.InfoListReq 1, // 14: pcmCore.pcmCore.SyncInfo:input_type -> pcmCore.SyncInfoReq
13, // 15: pcmCore.participantService.registerParticipant:input_type -> pcmCore.ParticipantPhyReq 6, // 15: pcmCore.pcmCore.InfoList:input_type -> pcmCore.InfoListReq
15, // 16: pcmCore.participantService.reportHeartbeat:input_type -> pcmCore.ParticipantHeartbeatReq 13, // 16: pcmCore.participantService.registerParticipant:input_type -> pcmCore.ParticipantPhyReq
16, // 17: pcmCore.participantService.reportAvailable:input_type -> pcmCore.ParticipantAvailReq 16, // 17: pcmCore.participantService.reportHeartbeat:input_type -> pcmCore.ParticipantHeartbeatReq
8, // 18: pcmCore.participantService.listParticipant:input_type -> pcmCore.ParticipantTenant 17, // 18: pcmCore.participantService.reportAvailable:input_type -> pcmCore.ParticipantAvailReq
8, // 19: pcmCore.participantService.listPhyAvailable:input_type -> pcmCore.ParticipantTenant 8, // 19: pcmCore.participantService.listParticipant:input_type -> pcmCore.ParticipantTenant
8, // 20: pcmCore.participantService.listPhyInformation:input_type -> pcmCore.ParticipantTenant 8, // 20: pcmCore.participantService.listPhyAvailable:input_type -> pcmCore.ParticipantTenant
5, // 21: pcmCore.pcmCore.SyncInfo:output_type -> pcmCore.SyncInfoResp 8, // 21: pcmCore.participantService.listPhyInformation:input_type -> pcmCore.ParticipantTenant
7, // 22: pcmCore.pcmCore.InfoList:output_type -> pcmCore.InfoListResp 5, // 22: pcmCore.pcmCore.SyncInfo:output_type -> pcmCore.SyncInfoResp
11, // 23: pcmCore.participantService.registerParticipant:output_type -> pcmCore.ParticipantPhyResp 7, // 23: pcmCore.pcmCore.InfoList:output_type -> pcmCore.InfoListResp
10, // 24: pcmCore.participantService.reportHeartbeat:output_type -> pcmCore.HealthCheckResp 11, // 24: pcmCore.participantService.registerParticipant:output_type -> pcmCore.ParticipantPhyResp
19, // 25: pcmCore.participantService.reportAvailable:output_type -> pcmCore.ParticipantResp 10, // 25: pcmCore.participantService.reportHeartbeat:output_type -> pcmCore.HealthCheckResp
20, // 26: pcmCore.participantService.listParticipant:output_type -> pcmCore.ParticipantServiceResp 20, // 26: pcmCore.participantService.reportAvailable:output_type -> pcmCore.ParticipantResp
18, // 27: pcmCore.participantService.listPhyAvailable:output_type -> pcmCore.ListParticipantAvailResp 21, // 27: pcmCore.participantService.listParticipant:output_type -> pcmCore.ParticipantServiceResp
12, // 28: pcmCore.participantService.listPhyInformation:output_type -> pcmCore.ListParticipantPhyResp 19, // 28: pcmCore.participantService.listPhyAvailable:output_type -> pcmCore.ListParticipantAvailResp
21, // [21:29] is the sub-list for method output_type 12, // 29: pcmCore.participantService.listPhyInformation:output_type -> pcmCore.ListParticipantPhyResp
13, // [13:21] is the sub-list for method input_type 22, // [22:30] is the sub-list for method output_type
13, // [13:13] is the sub-list for extension type_name 14, // [14:22] is the sub-list for method input_type
13, // [13:13] is the sub-list for extension extendee 14, // [14:14] is the sub-list for extension type_name
0, // [0:13] is the sub-list for field type_name 14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
} }
func init() { file_pb_pcmCore_proto_init() } func init() { file_pb_pcmCore_proto_init() }
@ -2471,7 +2677,7 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantHeartbeatReq); i { switch v := v.(*QueuePhyInfo); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2483,7 +2689,7 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantAvailReq); i { switch v := v.(*ParticipantHeartbeatReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2495,7 +2701,7 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NodeAvailInfo); i { switch v := v.(*ParticipantAvailReq); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2507,7 +2713,7 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListParticipantAvailResp); i { switch v := v.(*NodeAvailInfo); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2519,7 +2725,7 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantResp); i { switch v := v.(*ListParticipantAvailResp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2531,7 +2737,7 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantServiceResp); i { switch v := v.(*ParticipantResp); i {
case 0: case 0:
return &v.state return &v.state
case 1: case 1:
@ -2543,6 +2749,18 @@ func file_pb_pcmCore_proto_init() {
} }
} }
file_pb_pcmCore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { file_pb_pcmCore_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParticipantServiceResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pb_pcmCore_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ClientInfo); i { switch v := v.(*ClientInfo); i {
case 0: case 0:
return &v.state return &v.state
@ -2561,7 +2779,7 @@ func file_pb_pcmCore_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pb_pcmCore_proto_rawDesc, RawDescriptor: file_pb_pcmCore_proto_rawDesc,
NumEnums: 1, NumEnums: 1,
NumMessages: 21, NumMessages: 22,
NumExtensions: 0, NumExtensions: 0,
NumServices: 2, NumServices: 2,
}, },