diff --git a/api/desc/ai/pcm-ai.api b/api/desc/ai/pcm-ai.api index 1dfa4af0..d41f7f4a 100644 --- a/api/desc/ai/pcm-ai.api +++ b/api/desc/ai/pcm-ai.api @@ -712,7 +712,7 @@ type DeleteServiceResp { /******************Delete Service End*************************/ -/******************List Services Start*************************/ +/******************ClientList Services Start*************************/ type ( ListServicesReq { ProjectId string `path:"projectId"` @@ -757,7 +757,7 @@ type ListServices { IsFree bool `json:"isFree,omitempty" copier:"IsFree"` AdditionalProperties map[string]string `json:"additionalProperties,omitempty" copier:"AdditionalProperties"` } -/******************List Service End*************************/ +/******************ClientList Service End*************************/ /******************Show Service Start*************************/ type ( @@ -835,7 +835,7 @@ type QueryServiceConfig { } /******************Show Service End*************************/ -/******************List Clusters Start*************************/ +/******************ClientList Clusters Start*************************/ type ( ListClustersReq { ProjectId string `json:"projectId" copier:"ProjectId"` @@ -884,7 +884,7 @@ type Cluster { PeriodType string `json:"periodType,omitempty" copier:"PeriodType"` OrderId string `json:"orderId,omitempty" copier:"OrderId"` } -/******************List Clusters End*************************/ +/******************ClientList Clusters End*************************/ /******************ListAlgorithms start*************************/ type AlgorithmResponse { diff --git a/go.mod b/go.mod index 2bc207eb..0149e1ea 100644 --- a/go.mod +++ b/go.mod @@ -4,9 +4,10 @@ go 1.18 require ( github.com/Masterminds/squirrel v1.5.4 - github.com/aws/aws-sdk-go v1.44.300 - github.com/docker/docker v24.0.4+incompatible + github.com/aws/aws-sdk-go v1.44.322 + github.com/docker/docker v24.0.5+incompatible github.com/go-redis/redis v6.15.9+incompatible + github.com/go-redis/redis/v8 v8.11.5 github.com/go-sql-driver/mysql v1.7.1 github.com/jinzhu/copier v0.3.5 github.com/pkg/errors v0.9.1 @@ -14,16 +15,11 @@ require ( github.com/shopspring/decimal v1.3.1 github.com/zeromicro/go-queue v1.1.8 github.com/zeromicro/go-zero v1.5.3 - gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230714010248-294dcad12511 - gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230714015715-9098b752beff - gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230714013255-149a9b428b28 - gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714012611-c66005610d0c - gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714015940-004100bfa168 - gitlink.org.cn/jcce-pcm/utils v0.0.0-20230725025032-ac218fa4db06 + gitlink.org.cn/jcce-pcm/utils v0.0.0-20230814014928-a705f3bb3eae google.golang.org/grpc v1.56.2 google.golang.org/protobuf v1.31.0 gorm.io/driver/mysql v1.5.1 - gorm.io/gorm v1.25.2 + gorm.io/gorm v1.25.3 k8s.io/api v0.26.3 k8s.io/apimachinery v0.27.3 ) @@ -51,7 +47,6 @@ require ( github.com/go-openapi/jsonpointer v0.19.6 // indirect github.com/go-openapi/jsonreference v0.20.1 // indirect github.com/go-openapi/swag v0.22.3 // indirect - github.com/go-redis/redis/v8 v8.11.5 // indirect github.com/go-resty/resty/v2 v2.7.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect diff --git a/go.sum b/go.sum index 4f63ab11..0071e6fd 100644 --- a/go.sum +++ b/go.sum @@ -431,8 +431,8 @@ github.com/aliyun/alibaba-cloud-sdk-go v1.61.1704/go.mod h1:RcDobYh8k5VP6TNybz9m github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.44.300 h1:Zn+3lqgYahIf9yfrwZ+g+hq/c3KzUBaQ8wqY/ZXiAbY= -github.com/aws/aws-sdk-go v1.44.300/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.322 h1:7JfwifGRGQMHd99PvfXqxBaZsjuRaOF6e3X9zRx2uYo= +github.com/aws/aws-sdk-go v1.44.322/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/beanstalkd/go-beanstalk v0.2.0/go.mod h1:/G8YTyChOtpOArwLTQPY1CHB+i212+av35bkPXXj56Y= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -491,8 +491,8 @@ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/r github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.4+incompatible h1:s/LVDftw9hjblvqIeTiGYXBCD95nOEEl7qRsRrIOuQI= -github.com/docker/docker v24.0.4+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v24.0.5+incompatible h1:WmgcE4fxyI6EEXxBRxsHnZXrO1pQ3smi0k/jho4HLeY= +github.com/docker/docker v24.0.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= @@ -1027,18 +1027,22 @@ github.com/zeromicro/go-zero v1.4.3/go.mod h1:UmDjuW7LHd9j7+nnnPBcXF0HLNmjJw6OjH github.com/zeromicro/go-zero v1.5.1/go.mod h1:bGYm4XWsGN9GhDsO2O2BngpVoWjf3Eog2a5hUOMhlXs= github.com/zeromicro/go-zero v1.5.3 h1:9poyd+raeL7gSMUu6P19N7bssTppieR2j7Oos2j1yFQ= github.com/zeromicro/go-zero v1.5.3/go.mod h1:dmoBpgJTxt9KWmgrNGpv06XxZRPXMakrxUVgROFAR3g= -gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230714010248-294dcad12511 h1:KF6qN2K04bTZiOwU6XxfC4MoeMrDC/X+ep89CoepEB0= -gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230714010248-294dcad12511/go.mod h1:LI9P/qnLTALG711SFKLea+i78vNQWx45xlHImJwt0E4= -gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230714015715-9098b752beff h1:hUwUMdlPEK3HQRBVQBEnzDqw3FqeVHjBVhXooNhlmkI= -gitlink.org.cn/jcce-pcm/pcm-participant-ceph v0.0.0-20230714015715-9098b752beff/go.mod h1:XpssaA6VJ1IQxZV6IJ/CFpFCqid0XsE13FBH57oKXkQ= -gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230714013255-149a9b428b28 h1:Qj2rKy8V1Cmy5tH0OiS4q9PrQvvmImAtyBTcx8l1Czk= -gitlink.org.cn/jcce-pcm/pcm-participant-modelarts v0.0.0-20230714013255-149a9b428b28/go.mod h1:u+TB7q6AgVgOixZHDdWxtVTtCn50IYayNrscwe0AY6w= -gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714012611-c66005610d0c h1:ZrXRa3N8nT5lGfyvSBjrZkwPRzTWQ77O/bTb5z6ORzM= -gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714012611-c66005610d0c/go.mod h1:9Ad9vxCPGbY1yF1NhHWL2EhxsXJBB6bzz9i7PeSfKG4= -gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714015940-004100bfa168 h1:BgTVUqJMOhdm6mNPx1ti5ClTnyMjZlCvH0avI1dz1xg= -gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714015940-004100bfa168/go.mod h1:lY3jXmmMvC7j4Q2ogliThURWp9c1XCToSCnRkdc1aW8= -gitlink.org.cn/jcce-pcm/utils v0.0.0-20230725025032-ac218fa4db06 h1:mjt1ynoyzyowzm+pUXZKptoSHqjGyzw6uNCQzeHo1/g= -gitlink.org.cn/jcce-pcm/utils v0.0.0-20230725025032-ac218fa4db06/go.mod h1:u8PTlBpzUyOlbQJgfSiutq91q/JtrJIQiPNDe4S/pGs= +gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230719012340-05049e43b869 h1:P0k0QqANY+Odhihyo4IZvhm4dd0a8BTlyaHiLHDKKyM= +gitlink.org.cn/jcce-pcm/pcm-participant-ac v0.0.0-20230719012340-05049e43b869/go.mod h1:fpj6MlFgDoGv5R0ETSg+Mni4VoykKXNrvNJAOkV9cvU= +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-20230811110436-43ae93ec1796/go.mod h1:Jk4srb1NAFSn/kMWeo71/I02luZ8OrmVnUFWb8abr7I= +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-octopus v0.0.0-20230714030856-601935bc30e2 h1:RcGSqhsod6VXLksSLqNjV0q/SCeoUv6CbThKmV9NTZE= +gitlink.org.cn/jcce-pcm/pcm-participant-octopus v0.0.0-20230714030856-601935bc30e2/go.mod h1:uyvpVqG1jHDXX+ubXI0RBwnWXzVykD/mliqGQIDvRoo= +gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714030125-a52fa198ddf4 h1:r2hBP5G/bbkPpDTPk3ENnQxD82vkoYMSeNHYhNAVRX4= +gitlink.org.cn/jcce-pcm/pcm-participant-slurm v0.0.0-20230714030125-a52fa198ddf4/go.mod h1:zRdVJiv4r4jgBli2xpYGmV0n6Gmz8fkZ5pJaNK2MbTU= +gitlink.org.cn/jcce-pcm/utils v0.0.0-20230814014928-a705f3bb3eae h1:oJxnyOJ6Ps/uPqwSEumXcUYm7dkF08r4gHhfy7NRn4s= +gitlink.org.cn/jcce-pcm/utils v0.0.0-20230814014928-a705f3bb3eae/go.mod h1:zTa+selMe02jZ3u6Ij1rTF2CrGd2ZqzqyMQ/FwhdpvY= +gitlink.org.cn/jcce-pcm/utils v0.0.1 h1:3PH93Z/JFTH5JRO9MFf3dD1Gnd12aGiIIViWBlQGuhE= +gitlink.org.cn/jcce-pcm/utils v0.0.1/go.mod h1:5cwaaqM0+HK5GXVbYozGlWvgwoUby0KytdvhbwQW1ks= +gitlink.org.cn/jcce-pcm/utils v0.0.2 h1:Stif8W9C9TOCS2hw4g+OlOywDrsVYNrkiyKfBrWkT0w= +gitlink.org.cn/jcce-pcm/utils v0.0.2/go.mod h1:u8PTlBpzUyOlbQJgfSiutq91q/JtrJIQiPNDe4S/pGs= go.etcd.io/etcd/api/v3 v3.5.5/go.mod h1:KFtNaxGDw4Yx/BA4iPPwevUTAuqcsPxzyX8PHydchN8= go.etcd.io/etcd/api/v3 v3.5.7/go.mod h1:9qew1gCdDDLu+VwmeG+iFpL+QlpHTo7iubavdVDgCAA= go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs= @@ -1790,8 +1794,8 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gorm.io/driver/mysql v1.5.1 h1:WUEH5VF9obL/lTtzjmML/5e6VfFR/788coz2uaVCAZw= gorm.io/driver/mysql v1.5.1/go.mod h1:Jo3Xu7mMhCyj8dlrb3WoCaRd1FhsVh+yMXb1jUInf5o= gorm.io/gorm v1.25.1/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= -gorm.io/gorm v1.25.2 h1:gs1o6Vsa+oVKG/a9ElL3XgyGfghFfkKA2SInQaCyMho= -gorm.io/gorm v1.25.2/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= +gorm.io/gorm v1.25.3 h1:zi4rHZj1anhZS2EuEODMhDisGy+Daq9jtPrNGgbQYD8= +gorm.io/gorm v1.25.3/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/rpc/client/participantservice/participantservice.go b/rpc/client/participantservice/participantservice.go index faa39c39..5fd66264 100644 --- a/rpc/client/participantservice/participantservice.go +++ b/rpc/client/participantservice/participantservice.go @@ -13,23 +13,25 @@ import ( ) type ( - AiInfo = pcmCore.AiInfo - CloudInfo = pcmCore.CloudInfo - HealthCheckResp = pcmCore.HealthCheckResp - HpcInfo = pcmCore.HpcInfo - InfoListReq = pcmCore.InfoListReq - InfoListResp = pcmCore.InfoListResp - NodeAvailInfo = pcmCore.NodeAvailInfo - NodePhyInfo = pcmCore.NodePhyInfo - ParticipantAvailReq = pcmCore.ParticipantAvailReq - ParticipantHeartbeatReq = pcmCore.ParticipantHeartbeatReq - ParticipantLabel = pcmCore.ParticipantLabel - ParticipantPhyReq = pcmCore.ParticipantPhyReq - ParticipantPhyResp = pcmCore.ParticipantPhyResp - ParticipantResp = pcmCore.ParticipantResp - ParticipantTenant = pcmCore.ParticipantTenant - SyncInfoReq = pcmCore.SyncInfoReq - SyncInfoResp = pcmCore.SyncInfoResp + AiInfo = pcmCore.AiInfo + CloudInfo = pcmCore.CloudInfo + HealthCheckResp = pcmCore.HealthCheckResp + HpcInfo = pcmCore.HpcInfo + InfoListReq = pcmCore.InfoListReq + InfoListResp = pcmCore.InfoListResp + ListParticipantAvailResp = pcmCore.ListParticipantAvailResp + ListParticipantPhyResp = pcmCore.ListParticipantPhyResp + NodeAvailInfo = pcmCore.NodeAvailInfo + NodePhyInfo = pcmCore.NodePhyInfo + ParticipantAvailReq = pcmCore.ParticipantAvailReq + ParticipantHeartbeatReq = pcmCore.ParticipantHeartbeatReq + ParticipantLabel = pcmCore.ParticipantLabel + ParticipantPhyReq = pcmCore.ParticipantPhyReq + ParticipantPhyResp = pcmCore.ParticipantPhyResp + ParticipantResp = pcmCore.ParticipantResp + ParticipantTenant = pcmCore.ParticipantTenant + SyncInfoReq = pcmCore.SyncInfoReq + SyncInfoResp = pcmCore.SyncInfoResp ParticipantService interface { // registerParticipant Participant注册接口 @@ -38,6 +40,12 @@ type ( ReportHeartbeat(ctx context.Context, in *ParticipantHeartbeatReq, opts ...grpc.CallOption) (*HealthCheckResp, error) // reportAvailable 监控数据上报 ReportAvailable(ctx context.Context, in *ParticipantAvailReq, opts ...grpc.CallOption) (*ParticipantResp, error) + // listParticipant 服务列表 + ListParticipant(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ParticipantResp, error) + // listAvailable 集群动态信息列表 + ListPhyAvailable(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantAvailResp, error) + // listPhyInformation 集群静态信息列表 + ListPhyInformation(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantPhyResp, error) } defaultParticipantService struct { @@ -68,3 +76,21 @@ func (m *defaultParticipantService) ReportAvailable(ctx context.Context, in *Par client := pcmCore.NewParticipantServiceClient(m.cli.Conn()) return client.ReportAvailable(ctx, in, opts...) } + +// listParticipant 服务列表 +func (m *defaultParticipantService) ListParticipant(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ParticipantResp, error) { + client := pcmCore.NewParticipantServiceClient(m.cli.Conn()) + return client.ListParticipant(ctx, in, opts...) +} + +// listAvailable 集群动态信息列表 +func (m *defaultParticipantService) ListPhyAvailable(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantAvailResp, error) { + client := pcmCore.NewParticipantServiceClient(m.cli.Conn()) + return client.ListPhyAvailable(ctx, in, opts...) +} + +// listPhyInformation 集群静态信息列表 +func (m *defaultParticipantService) ListPhyInformation(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantPhyResp, error) { + client := pcmCore.NewParticipantServiceClient(m.cli.Conn()) + return client.ListPhyInformation(ctx, in, opts...) +} diff --git a/rpc/client/pcmcore/pcmcore.go b/rpc/client/pcmcore/pcmcore.go index dc0c7d77..2ca6e3b0 100644 --- a/rpc/client/pcmcore/pcmcore.go +++ b/rpc/client/pcmcore/pcmcore.go @@ -13,23 +13,25 @@ import ( ) type ( - AiInfo = pcmCore.AiInfo - CloudInfo = pcmCore.CloudInfo - HealthCheckResp = pcmCore.HealthCheckResp - HpcInfo = pcmCore.HpcInfo - InfoListReq = pcmCore.InfoListReq - InfoListResp = pcmCore.InfoListResp - NodeAvailInfo = pcmCore.NodeAvailInfo - NodePhyInfo = pcmCore.NodePhyInfo - ParticipantAvailReq = pcmCore.ParticipantAvailReq - ParticipantHeartbeatReq = pcmCore.ParticipantHeartbeatReq - ParticipantLabel = pcmCore.ParticipantLabel - ParticipantPhyReq = pcmCore.ParticipantPhyReq - ParticipantPhyResp = pcmCore.ParticipantPhyResp - ParticipantResp = pcmCore.ParticipantResp - ParticipantTenant = pcmCore.ParticipantTenant - SyncInfoReq = pcmCore.SyncInfoReq - SyncInfoResp = pcmCore.SyncInfoResp + AiInfo = pcmCore.AiInfo + CloudInfo = pcmCore.CloudInfo + HealthCheckResp = pcmCore.HealthCheckResp + HpcInfo = pcmCore.HpcInfo + InfoListReq = pcmCore.InfoListReq + InfoListResp = pcmCore.InfoListResp + ListParticipantAvailResp = pcmCore.ListParticipantAvailResp + ListParticipantPhyResp = pcmCore.ListParticipantPhyResp + NodeAvailInfo = pcmCore.NodeAvailInfo + NodePhyInfo = pcmCore.NodePhyInfo + ParticipantAvailReq = pcmCore.ParticipantAvailReq + ParticipantHeartbeatReq = pcmCore.ParticipantHeartbeatReq + ParticipantLabel = pcmCore.ParticipantLabel + ParticipantPhyReq = pcmCore.ParticipantPhyReq + ParticipantPhyResp = pcmCore.ParticipantPhyResp + ParticipantResp = pcmCore.ParticipantResp + ParticipantTenant = pcmCore.ParticipantTenant + SyncInfoReq = pcmCore.SyncInfoReq + SyncInfoResp = pcmCore.SyncInfoResp PcmCore interface { // SyncInfo Synchronous data information diff --git a/rpc/internal/config/config.go b/rpc/internal/config/config.go index 181cf928..54b97607 100644 --- a/rpc/internal/config/config.go +++ b/rpc/internal/config/config.go @@ -2,6 +2,7 @@ package config import ( "github.com/zeromicro/go-zero/core/logx" + "github.com/zeromicro/go-zero/core/stores/redis" "github.com/zeromicro/go-zero/zrpc" ) @@ -12,6 +13,7 @@ type Config struct { } LogConf logx.LogConf SnowflakeConf SnowflakeConf + RedisConf redis.RedisConf } // SnowflakeConf 雪花算法机器id配置 diff --git a/rpc/internal/logic/participantservice/heartbeatcheck.go b/rpc/internal/logic/participantservice/heartbeatcheck.go index 8e2d59e1..1b9ee410 100644 --- a/rpc/internal/logic/participantservice/heartbeatcheck.go +++ b/rpc/internal/logic/participantservice/heartbeatcheck.go @@ -24,7 +24,7 @@ var ( ) func SendHeartbeat(host string, port string, participantID int64) { - key := fmt.Sprintf("%s:%d-%d", host, port, participantID) + key := fmt.Sprintf("%s:%s-%d", host, port, participantID) clientsMutex.Lock() defer clientsMutex.Unlock() @@ -57,3 +57,10 @@ func CheckHealth() { } } } + +// ClientList 列出监控的客户端列表 +func ClientList() (Clients map[string]*Client) { + clientsMutex.Lock() + defer clientsMutex.Unlock() + return ParticipantClients +} diff --git a/rpc/internal/logic/participantservice/listparticipantlogic.go b/rpc/internal/logic/participantservice/listparticipantlogic.go new file mode 100644 index 00000000..8cd8ea5c --- /dev/null +++ b/rpc/internal/logic/participantservice/listparticipantlogic.go @@ -0,0 +1,33 @@ +package participantservicelogic + +import ( + "context" + "fmt" + + "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/pcmCore" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListParticipantLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListParticipantLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListParticipantLogic { + return &ListParticipantLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// listParticipant 服务列表 +func (l *ListParticipantLogic) ListParticipant(in *pcmCore.ParticipantTenant) (*pcmCore.ParticipantResp, error) { + // todo: add your logic here and delete this line + clients := ClientList() + fmt.Println(clients) + return &pcmCore.ParticipantResp{}, nil +} diff --git a/rpc/internal/logic/participantservice/listphyavailablelogic.go b/rpc/internal/logic/participantservice/listphyavailablelogic.go new file mode 100644 index 00000000..a290f567 --- /dev/null +++ b/rpc/internal/logic/participantservice/listphyavailablelogic.go @@ -0,0 +1,37 @@ +package participantservicelogic + +import ( + "context" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/model" + "gitlink.org.cn/jcce-pcm/utils/tool" + + "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/pcmCore" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListPhyAvailableLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListPhyAvailableLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListPhyAvailableLogic { + return &ListPhyAvailableLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// listAvailable 集群动态信息列表 +func (l *ListPhyAvailableLogic) ListPhyAvailable(in *pcmCore.ParticipantTenant) (*pcmCore.ListParticipantAvailResp, error) { + // todo: add your logic here and delete this line + resp := &pcmCore.ListParticipantAvailResp{} + var scParticipantPhyInfoS []model.ScParticipantAvailInfo + //查询集群静态信息列表 + l.svcCtx.DbEngin.Find(&scParticipantPhyInfoS) + tool.Convert(scParticipantPhyInfoS, &resp.ParticipantAvails) + return resp, nil +} diff --git a/rpc/internal/logic/participantservice/listphyinformationlogic.go b/rpc/internal/logic/participantservice/listphyinformationlogic.go new file mode 100644 index 00000000..9a99982b --- /dev/null +++ b/rpc/internal/logic/participantservice/listphyinformationlogic.go @@ -0,0 +1,37 @@ +package participantservicelogic + +import ( + "context" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/model" + "gitlink.org.cn/jcce-pcm/utils/tool" + + "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/internal/svc" + "gitlink.org.cn/jcce-pcm/pcm-coordinator/rpc/pcmCore" + + "github.com/zeromicro/go-zero/core/logx" +) + +type ListPhyInformationLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewListPhyInformationLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ListPhyInformationLogic { + return &ListPhyInformationLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// listPhyInformation 集群静态信息列表 +func (l *ListPhyInformationLogic) ListPhyInformation(in *pcmCore.ParticipantTenant) (*pcmCore.ListParticipantPhyResp, error) { + // todo: add your logic here and delete this line + resp := &pcmCore.ListParticipantPhyResp{} + var scParticipantPhyInfoS []model.ScParticipantPhyInfo + //查询集群静态信息列表 + l.svcCtx.DbEngin.Find(&scParticipantPhyInfoS) + tool.Convert(scParticipantPhyInfoS, &resp.ParticipantPhys) + return resp, nil +} diff --git a/rpc/internal/logic/participantservice/reportavailablelogic.go b/rpc/internal/logic/participantservice/reportavailablelogic.go index 08237e17..3af73ab9 100644 --- a/rpc/internal/logic/participantservice/reportavailablelogic.go +++ b/rpc/internal/logic/participantservice/reportavailablelogic.go @@ -48,6 +48,12 @@ func (l *ReportAvailableLogic) ReportAvailable(in *pcmCore.ParticipantAvailReq) //判断Participant静态信息是否存在 participantPhyInfo := &model.ScParticipantPhyInfo{} participantPhyInfo.Id = in.ParticipantId + if in.ParticipantId == 0 { + return &pcmCore.ParticipantResp{ + Code: 500, + Msg: fmt.Sprintf("ParticipantInfo Does not exist, please check participantPhyId: %d", in.ParticipantId), + }, nil + } if errors.Is(db.Take(&participantPhyInfo).Error, gorm.ErrRecordNotFound) { return &pcmCore.ParticipantResp{ Code: 500, diff --git a/rpc/internal/server/participantservice/participantserviceserver.go b/rpc/internal/server/participantservice/participantserviceserver.go index ca9b50f1..6b5906bb 100644 --- a/rpc/internal/server/participantservice/participantserviceserver.go +++ b/rpc/internal/server/participantservice/participantserviceserver.go @@ -39,3 +39,21 @@ func (s *ParticipantServiceServer) ReportAvailable(ctx context.Context, in *pcmC l := participantservicelogic.NewReportAvailableLogic(ctx, s.svcCtx) return l.ReportAvailable(in) } + +// listParticipant 服务列表 +func (s *ParticipantServiceServer) ListParticipant(ctx context.Context, in *pcmCore.ParticipantTenant) (*pcmCore.ParticipantResp, error) { + l := participantservicelogic.NewListParticipantLogic(ctx, s.svcCtx) + return l.ListParticipant(in) +} + +// listAvailable 集群动态信息列表 +func (s *ParticipantServiceServer) ListPhyAvailable(ctx context.Context, in *pcmCore.ParticipantTenant) (*pcmCore.ListParticipantAvailResp, error) { + l := participantservicelogic.NewListPhyAvailableLogic(ctx, s.svcCtx) + return l.ListPhyAvailable(in) +} + +// listPhyInformation 集群静态信息列表 +func (s *ParticipantServiceServer) ListPhyInformation(ctx context.Context, in *pcmCore.ParticipantTenant) (*pcmCore.ListParticipantPhyResp, error) { + l := participantservicelogic.NewListPhyInformationLogic(ctx, s.svcCtx) + return l.ListPhyInformation(in) +} diff --git a/rpc/internal/svc/servicecontext.go b/rpc/internal/svc/servicecontext.go index 4b4a9860..81203e0a 100644 --- a/rpc/internal/svc/servicecontext.go +++ b/rpc/internal/svc/servicecontext.go @@ -1,6 +1,7 @@ package svc import ( + "github.com/go-redis/redis/v8" _ "github.com/go-sql-driver/mysql" "github.com/robfig/cron/v3" "github.com/zeromicro/go-zero/core/logx" @@ -13,9 +14,10 @@ import ( ) type ServiceContext struct { - Config config.Config - DbEngin *gorm.DB - Cron *cron.Cron + Config config.Config + DbEngin *gorm.DB + Cron *cron.Cron + RedisClient *redis.Client } func NewServiceContext(c config.Config) *ServiceContext { @@ -24,7 +26,7 @@ func NewServiceContext(c config.Config) *ServiceContext { NamingStrategy: schema.NamingStrategy{ SingularTable: true, // 使用单数表名,启用该选项,此时,`User` 的表名应该是 `t_user` }, - Logger: logger.Default.LogMode(logger.Error), + Logger: logger.Default.LogMode(logger.Info), }) //添加snowflake支持 err := tool.InitSnowflake(c.SnowflakeConf.MachineId) @@ -36,5 +38,10 @@ func NewServiceContext(c config.Config) *ServiceContext { Cron: cron.New(cron.WithSeconds()), Config: c, DbEngin: dbEngin, + RedisClient: redis.NewClient(&redis.Options{ + Addr: c.RedisConf.Host, + Password: c.RedisConf.Pass, + DB: 0, // use default DB + }), } } diff --git a/rpc/pb/pcmCore.proto b/rpc/pb/pcmCore.proto index f17db6f2..5a3d39df 100644 --- a/rpc/pb/pcmCore.proto +++ b/rpc/pb/pcmCore.proto @@ -124,6 +124,13 @@ message ParticipantPhyResp { int64 participantId = 3; //participant 唯一标识 } +//集群静态信息返回 +message ListParticipantPhyResp { + int64 code = 1; + string msg = 2; + repeated ParticipantPhyReq ParticipantPhys=3; +} + //participantPhy 静态信息 message ParticipantPhyReq { string name = 1; //名称 @@ -141,6 +148,7 @@ message ParticipantPhyReq { repeated NodePhyInfo nodeInfo = 13; //节点信息 int64 participantId = 14; //participant id repeated ParticipantLabel labelInfo = 15; //标签信息 + int64 id =16; //id } // NodePhyInfo 节点信息 @@ -187,6 +195,13 @@ message NodeAvailInfo{ int64 participantAvailId = 11; //集群动态信息id } +// 集群可用信息 +message ListParticipantAvailResp{ + int64 code = 1; + string msg = 2; + repeated ParticipantAvailReq ParticipantAvails=3; +} + message ParticipantResp{ int64 code = 1; string msg = 2; @@ -204,4 +219,12 @@ service participantService { // reportAvailable 监控数据上报 rpc reportAvailable (ParticipantAvailReq) returns(ParticipantResp){} + // listParticipant 服务列表 + rpc listParticipant (ParticipantTenant) returns(ParticipantResp){} + + // listAvailable 集群动态信息列表 + rpc listPhyAvailable (ParticipantTenant) returns(ListParticipantAvailResp){} + + // listPhyInformation 集群静态信息列表 + rpc listPhyInformation (ParticipantTenant) returns (ListParticipantPhyResp) {}; } \ No newline at end of file diff --git a/rpc/pcmCore/pcmCore.pb.go b/rpc/pcmCore/pcmCore.pb.go index 79622d3b..b6e24a6a 100644 --- a/rpc/pcmCore/pcmCore.pb.go +++ b/rpc/pcmCore/pcmCore.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v3.19.4 -// source: pcmCore.proto +// protoc-gen-go v1.30.0 +// protoc v4.23.4 +// source: pb/pcmCore.proto package pcmCore @@ -53,11 +53,11 @@ func (x MessageStatus) String() string { } func (MessageStatus) Descriptor() protoreflect.EnumDescriptor { - return file_pcmCore_proto_enumTypes[0].Descriptor() + return file_pb_pcmCore_proto_enumTypes[0].Descriptor() } func (MessageStatus) Type() protoreflect.EnumType { - return &file_pcmCore_proto_enumTypes[0] + return &file_pb_pcmCore_proto_enumTypes[0] } func (x MessageStatus) Number() protoreflect.EnumNumber { @@ -66,7 +66,7 @@ func (x MessageStatus) Number() protoreflect.EnumNumber { // Deprecated: Use MessageStatus.Descriptor instead. func (MessageStatus) EnumDescriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{0} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{0} } type SyncInfoReq struct { @@ -84,7 +84,7 @@ type SyncInfoReq struct { func (x *SyncInfoReq) Reset() { *x = SyncInfoReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[0] + mi := &file_pb_pcmCore_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97,7 +97,7 @@ func (x *SyncInfoReq) String() string { func (*SyncInfoReq) ProtoMessage() {} func (x *SyncInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[0] + mi := &file_pb_pcmCore_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110,7 +110,7 @@ func (x *SyncInfoReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncInfoReq.ProtoReflect.Descriptor instead. func (*SyncInfoReq) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{0} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{0} } func (x *SyncInfoReq) GetParticipantId() int64 { @@ -173,7 +173,7 @@ type AiInfo struct { func (x *AiInfo) Reset() { *x = AiInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[1] + mi := &file_pb_pcmCore_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -186,7 +186,7 @@ func (x *AiInfo) String() string { func (*AiInfo) ProtoMessage() {} func (x *AiInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[1] + mi := &file_pb_pcmCore_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -199,7 +199,7 @@ func (x *AiInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AiInfo.ProtoReflect.Descriptor instead. func (*AiInfo) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{1} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{1} } func (x *AiInfo) GetParticipantId() int64 { @@ -328,7 +328,7 @@ type CloudInfo struct { func (x *CloudInfo) Reset() { *x = CloudInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[2] + mi := &file_pb_pcmCore_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -341,7 +341,7 @@ func (x *CloudInfo) String() string { func (*CloudInfo) ProtoMessage() {} func (x *CloudInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[2] + mi := &file_pb_pcmCore_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -354,7 +354,7 @@ func (x *CloudInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use CloudInfo.ProtoReflect.Descriptor instead. func (*CloudInfo) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{2} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{2} } func (x *CloudInfo) GetParticipant() int64 { @@ -464,7 +464,7 @@ type HpcInfo struct { func (x *HpcInfo) Reset() { *x = HpcInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[3] + mi := &file_pb_pcmCore_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -477,7 +477,7 @@ func (x *HpcInfo) String() string { func (*HpcInfo) ProtoMessage() {} func (x *HpcInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[3] + mi := &file_pb_pcmCore_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -490,7 +490,7 @@ func (x *HpcInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use HpcInfo.ProtoReflect.Descriptor instead. func (*HpcInfo) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{3} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{3} } func (x *HpcInfo) GetParticipantId() int64 { @@ -645,7 +645,7 @@ type SyncInfoResp struct { func (x *SyncInfoResp) Reset() { *x = SyncInfoResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[4] + mi := &file_pb_pcmCore_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -658,7 +658,7 @@ func (x *SyncInfoResp) String() string { func (*SyncInfoResp) ProtoMessage() {} func (x *SyncInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[4] + mi := &file_pb_pcmCore_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -671,7 +671,7 @@ func (x *SyncInfoResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncInfoResp.ProtoReflect.Descriptor instead. func (*SyncInfoResp) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{4} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{4} } func (x *SyncInfoResp) GetCode() int64 { @@ -700,7 +700,7 @@ type InfoListReq struct { func (x *InfoListReq) Reset() { *x = InfoListReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[5] + mi := &file_pb_pcmCore_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -713,7 +713,7 @@ func (x *InfoListReq) String() string { func (*InfoListReq) ProtoMessage() {} func (x *InfoListReq) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[5] + mi := &file_pb_pcmCore_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -726,7 +726,7 @@ func (x *InfoListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoListReq.ProtoReflect.Descriptor instead. func (*InfoListReq) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{5} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{5} } func (x *InfoListReq) GetKind() string { @@ -756,7 +756,7 @@ type InfoListResp struct { func (x *InfoListResp) Reset() { *x = InfoListResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[6] + mi := &file_pb_pcmCore_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -769,7 +769,7 @@ func (x *InfoListResp) String() string { func (*InfoListResp) ProtoMessage() {} func (x *InfoListResp) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[6] + mi := &file_pb_pcmCore_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -782,7 +782,7 @@ func (x *InfoListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use InfoListResp.ProtoReflect.Descriptor instead. func (*InfoListResp) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{6} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{6} } func (x *InfoListResp) GetHpcInfoList() []*HpcInfo { @@ -818,7 +818,7 @@ type ParticipantTenant struct { func (x *ParticipantTenant) Reset() { *x = ParticipantTenant{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[7] + mi := &file_pb_pcmCore_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -831,7 +831,7 @@ func (x *ParticipantTenant) String() string { func (*ParticipantTenant) ProtoMessage() {} func (x *ParticipantTenant) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[7] + mi := &file_pb_pcmCore_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -844,7 +844,7 @@ func (x *ParticipantTenant) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantTenant.ProtoReflect.Descriptor instead. func (*ParticipantTenant) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{7} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{7} } func (x *ParticipantTenant) GetTenantName() string { @@ -868,7 +868,7 @@ type ParticipantLabel struct { func (x *ParticipantLabel) Reset() { *x = ParticipantLabel{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[8] + mi := &file_pb_pcmCore_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -881,7 +881,7 @@ func (x *ParticipantLabel) String() string { func (*ParticipantLabel) ProtoMessage() {} func (x *ParticipantLabel) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[8] + mi := &file_pb_pcmCore_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -894,7 +894,7 @@ func (x *ParticipantLabel) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantLabel.ProtoReflect.Descriptor instead. func (*ParticipantLabel) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{8} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{8} } func (x *ParticipantLabel) GetId() int64 { @@ -931,7 +931,7 @@ type HealthCheckResp struct { func (x *HealthCheckResp) Reset() { *x = HealthCheckResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[9] + mi := &file_pb_pcmCore_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -944,7 +944,7 @@ func (x *HealthCheckResp) String() string { func (*HealthCheckResp) ProtoMessage() {} func (x *HealthCheckResp) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[9] + mi := &file_pb_pcmCore_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -957,7 +957,7 @@ func (x *HealthCheckResp) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckResp.ProtoReflect.Descriptor instead. func (*HealthCheckResp) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{9} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{9} } func (x *HealthCheckResp) GetMessageStatus() MessageStatus { @@ -994,7 +994,7 @@ type ParticipantPhyResp struct { func (x *ParticipantPhyResp) Reset() { *x = ParticipantPhyResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[10] + mi := &file_pb_pcmCore_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1007,7 +1007,7 @@ func (x *ParticipantPhyResp) String() string { func (*ParticipantPhyResp) ProtoMessage() {} func (x *ParticipantPhyResp) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[10] + mi := &file_pb_pcmCore_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1020,7 +1020,7 @@ func (x *ParticipantPhyResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantPhyResp.ProtoReflect.Descriptor instead. func (*ParticipantPhyResp) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{10} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{10} } func (x *ParticipantPhyResp) GetCode() int64 { @@ -1044,6 +1044,70 @@ func (x *ParticipantPhyResp) GetParticipantId() int64 { return 0 } +// 集群静态信息返回 +type ListParticipantPhyResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + ParticipantPhys []*ParticipantPhyReq `protobuf:"bytes,3,rep,name=ParticipantPhys,proto3" json:"ParticipantPhys,omitempty"` +} + +func (x *ListParticipantPhyResp) Reset() { + *x = ListParticipantPhyResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_pcmCore_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListParticipantPhyResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListParticipantPhyResp) ProtoMessage() {} + +func (x *ListParticipantPhyResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_pcmCore_proto_msgTypes[11] + 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 ListParticipantPhyResp.ProtoReflect.Descriptor instead. +func (*ListParticipantPhyResp) Descriptor() ([]byte, []int) { + return file_pb_pcmCore_proto_rawDescGZIP(), []int{11} +} + +func (x *ListParticipantPhyResp) GetCode() int64 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListParticipantPhyResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListParticipantPhyResp) GetParticipantPhys() []*ParticipantPhyReq { + if x != nil { + return x.ParticipantPhys + } + return nil +} + // participantPhy 静态信息 type ParticipantPhyReq struct { state protoimpl.MessageState @@ -1065,12 +1129,13 @@ type ParticipantPhyReq struct { 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 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 } func (x *ParticipantPhyReq) Reset() { *x = ParticipantPhyReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[11] + mi := &file_pb_pcmCore_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1083,7 +1148,7 @@ func (x *ParticipantPhyReq) String() string { func (*ParticipantPhyReq) ProtoMessage() {} func (x *ParticipantPhyReq) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[11] + mi := &file_pb_pcmCore_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1096,7 +1161,7 @@ func (x *ParticipantPhyReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantPhyReq.ProtoReflect.Descriptor instead. func (*ParticipantPhyReq) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{11} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{12} } func (x *ParticipantPhyReq) GetName() string { @@ -1204,6 +1269,13 @@ func (x *ParticipantPhyReq) GetLabelInfo() []*ParticipantLabel { return nil } +func (x *ParticipantPhyReq) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + // NodePhyInfo 节点信息 type NodePhyInfo struct { state protoimpl.MessageState @@ -1222,7 +1294,7 @@ type NodePhyInfo struct { func (x *NodePhyInfo) Reset() { *x = NodePhyInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[12] + mi := &file_pb_pcmCore_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1235,7 +1307,7 @@ func (x *NodePhyInfo) String() string { func (*NodePhyInfo) ProtoMessage() {} func (x *NodePhyInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[12] + mi := &file_pb_pcmCore_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1248,7 +1320,7 @@ func (x *NodePhyInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use NodePhyInfo.ProtoReflect.Descriptor instead. func (*NodePhyInfo) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{12} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{13} } func (x *NodePhyInfo) GetId() int64 { @@ -1314,7 +1386,7 @@ type ParticipantHeartbeatReq struct { func (x *ParticipantHeartbeatReq) Reset() { *x = ParticipantHeartbeatReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[13] + mi := &file_pb_pcmCore_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1327,7 +1399,7 @@ func (x *ParticipantHeartbeatReq) String() string { func (*ParticipantHeartbeatReq) ProtoMessage() {} func (x *ParticipantHeartbeatReq) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[13] + mi := &file_pb_pcmCore_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1340,7 +1412,7 @@ func (x *ParticipantHeartbeatReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantHeartbeatReq.ProtoReflect.Descriptor instead. func (*ParticipantHeartbeatReq) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{13} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{14} } func (x *ParticipantHeartbeatReq) GetParticipantId() int64 { @@ -1382,7 +1454,7 @@ type ParticipantAvailReq struct { func (x *ParticipantAvailReq) Reset() { *x = ParticipantAvailReq{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[14] + mi := &file_pb_pcmCore_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1395,7 +1467,7 @@ func (x *ParticipantAvailReq) String() string { func (*ParticipantAvailReq) ProtoMessage() {} func (x *ParticipantAvailReq) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[14] + mi := &file_pb_pcmCore_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1408,7 +1480,7 @@ func (x *ParticipantAvailReq) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantAvailReq.ProtoReflect.Descriptor instead. func (*ParticipantAvailReq) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{14} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{15} } func (x *ParticipantAvailReq) GetId() int64 { @@ -1482,7 +1554,7 @@ type NodeAvailInfo struct { func (x *NodeAvailInfo) Reset() { *x = NodeAvailInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[15] + mi := &file_pb_pcmCore_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1495,7 +1567,7 @@ func (x *NodeAvailInfo) String() string { func (*NodeAvailInfo) ProtoMessage() {} func (x *NodeAvailInfo) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[15] + mi := &file_pb_pcmCore_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1508,7 +1580,7 @@ func (x *NodeAvailInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeAvailInfo.ProtoReflect.Descriptor instead. func (*NodeAvailInfo) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{15} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{16} } func (x *NodeAvailInfo) GetId() int64 { @@ -1588,6 +1660,70 @@ func (x *NodeAvailInfo) GetParticipantAvailId() int64 { return 0 } +// 集群可用信息 +type ListParticipantAvailResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + ParticipantAvails []*ParticipantAvailReq `protobuf:"bytes,3,rep,name=ParticipantAvails,proto3" json:"ParticipantAvails,omitempty"` +} + +func (x *ListParticipantAvailResp) Reset() { + *x = ListParticipantAvailResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_pcmCore_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListParticipantAvailResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListParticipantAvailResp) ProtoMessage() {} + +func (x *ListParticipantAvailResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_pcmCore_proto_msgTypes[17] + 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 ListParticipantAvailResp.ProtoReflect.Descriptor instead. +func (*ListParticipantAvailResp) Descriptor() ([]byte, []int) { + return file_pb_pcmCore_proto_rawDescGZIP(), []int{17} +} + +func (x *ListParticipantAvailResp) GetCode() int64 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *ListParticipantAvailResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ListParticipantAvailResp) GetParticipantAvails() []*ParticipantAvailReq { + if x != nil { + return x.ParticipantAvails + } + return nil +} + type ParticipantResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1600,7 +1736,7 @@ type ParticipantResp struct { func (x *ParticipantResp) Reset() { *x = ParticipantResp{} if protoimpl.UnsafeEnabled { - mi := &file_pcmCore_proto_msgTypes[16] + mi := &file_pb_pcmCore_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1613,7 +1749,7 @@ func (x *ParticipantResp) String() string { func (*ParticipantResp) ProtoMessage() {} func (x *ParticipantResp) ProtoReflect() protoreflect.Message { - mi := &file_pcmCore_proto_msgTypes[16] + mi := &file_pb_pcmCore_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1626,7 +1762,7 @@ func (x *ParticipantResp) ProtoReflect() protoreflect.Message { // Deprecated: Use ParticipantResp.ProtoReflect.Descriptor instead. func (*ParticipantResp) Descriptor() ([]byte, []int) { - return file_pcmCore_proto_rawDescGZIP(), []int{16} + return file_pb_pcmCore_proto_rawDescGZIP(), []int{18} } func (x *ParticipantResp) GetCode() int64 { @@ -1643,311 +1779,347 @@ func (x *ParticipantResp) GetMsg() string { return "" } -var File_pcmCore_proto protoreflect.FileDescriptor +var File_pb_pcmCore_proto protoreflect.FileDescriptor -var file_pcmCore_proto_rawDesc = []byte{ - 0x0a, 0x0d, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x07, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x0b, 0x53, 0x79, 0x6e, - 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, - 0x65, 0x2e, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, - 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, - 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x2f, 0x0a, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, - 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, - 0x74, 0x22, 0xbf, 0x03, 0x0a, 0x06, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, - 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, - 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x6c, 0x61, - 0x76, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6c, 0x61, - 0x76, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0xbb, 0x02, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, - 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x75, - 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x22, 0xad, 0x04, 0x0a, 0x07, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, - 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, +var file_pb_pcmCore_proto_rawDesc = []byte{ + 0x0a, 0x10, 0x70, 0x62, 0x2f, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x07, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x0b, + 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x63, 0x6d, + 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x48, 0x70, + 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, + 0x65, 0x2e, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0xbf, 0x03, 0x0a, 0x06, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, + 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x75, 0x6e, + 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x74, 0x65, 0x6d, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xbb, 0x02, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x75, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x79, 0x61, 0x6d, 0x6c, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x22, 0xad, 0x04, 0x0a, 0x07, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, + 0x6f, 0x62, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, + 0x44, 0x69, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, + 0x69, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6d, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6d, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x45, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x45, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x43, 0x70, 0x75, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x43, 0x70, 0x75, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, + 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, 0x47, 0x0a, 0x0b, 0x49, 0x6e, + 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x24, 0x0a, + 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6a, - 0x6f, 0x62, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, - 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0b, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x6f, 0x72, 0x6b, 0x44, 0x69, 0x72, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, - 0x6d, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x63, 0x6d, 0x64, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x72, - 0x69, 0x76, 0x65, 0x64, 0x45, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, - 0x72, 0x69, 0x76, 0x65, 0x64, 0x45, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, - 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, - 0x6c, 0x6c, 0x6f, 0x63, 0x43, 0x70, 0x75, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, - 0x6c, 0x6c, 0x6f, 0x63, 0x43, 0x70, 0x75, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, - 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x49, - 0x64, 0x22, 0x34, 0x0a, 0x0c, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x63, 0x6d, 0x43, + 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x48, 0x70, 0x63, + 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, + 0x2e, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4a, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x75, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, + 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x60, 0x0a, 0x12, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 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, 0x47, 0x0a, 0x0b, 0x49, 0x6e, 0x66, 0x6f, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, - 0x22, 0xad, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x32, 0x0a, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, - 0x2e, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x48, 0x70, 0x63, 0x49, 0x6e, 0x66, - 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, - 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, - 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0d, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x2f, 0x0a, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x41, 0x69, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x33, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, - 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4a, 0x0a, 0x10, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, - 0x70, 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x75, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x63, - 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x60, 0x0a, 0x12, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 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, 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, 0x22, 0x9e, 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, 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, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, - 0x6e, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, - 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x68, 0x79, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 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, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x52, 0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xc3, 0x01, 0x0a, 0x0b, - 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, - 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, - 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x72, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, - 0x71, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, - 0x71, 0x22, 0x67, 0x0a, 0x17, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, - 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, - 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0d, - 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6e, 0x6f, 0x64, - 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd1, 0x02, 0x0a, 0x0d, 0x4e, - 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, - 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x54, - 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x1a, - 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, - 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x2e, - 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x64, 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, 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, 0x84, 0x02, 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, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 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, 0x22, 0x84, 0x01, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x50, 0x68, 0x79, 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, 0x44, + 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, + 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, - 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, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x72, - 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x20, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, - 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, - 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, + 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, + 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, + 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6e, 0x6f, + 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, + 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, + 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, + 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x68, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6f, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x73, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, 0x71, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x46, 0x72, 0x65, 0x71, 0x22, 0x67, 0x0a, 0x17, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, + 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x11, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x75, 0x73, 0x65, + 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x75, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, + 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xd1, 0x02, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x09, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, + 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, + 0x69, 0x73, 0x6b, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x67, 0x70, 0x75, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, + 0x67, 0x70, 0x75, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, 0x61, 0x69, + 0x6c, 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, 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, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x42, 0x0a, 0x5a, 0x08, 0x2f, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 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, + 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, 0xf9, 0x03, 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, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x12, 0x20, + 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0f, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, + 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, 0x1a, 0x18, 0x2e, + 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0f, 0x6c, 0x69, 0x73, + 0x74, 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, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x1a, 0x18, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, + 0x72, 0x65, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x68, 0x79, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1a, 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, 0x21, 0x2e, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x12, 0x6c, 0x69, 0x73, + 0x74, 0x50, 0x68, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 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, 0x70, 0x63, + 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x68, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0a, + 0x5a, 0x08, 0x2f, 0x70, 0x63, 0x6d, 0x43, 0x6f, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( - file_pcmCore_proto_rawDescOnce sync.Once - file_pcmCore_proto_rawDescData = file_pcmCore_proto_rawDesc + file_pb_pcmCore_proto_rawDescOnce sync.Once + file_pb_pcmCore_proto_rawDescData = file_pb_pcmCore_proto_rawDesc ) -func file_pcmCore_proto_rawDescGZIP() []byte { - file_pcmCore_proto_rawDescOnce.Do(func() { - file_pcmCore_proto_rawDescData = protoimpl.X.CompressGZIP(file_pcmCore_proto_rawDescData) +func file_pb_pcmCore_proto_rawDescGZIP() []byte { + file_pb_pcmCore_proto_rawDescOnce.Do(func() { + file_pb_pcmCore_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_pcmCore_proto_rawDescData) }) - return file_pcmCore_proto_rawDescData + return file_pb_pcmCore_proto_rawDescData } -var file_pcmCore_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pcmCore_proto_msgTypes = make([]protoimpl.MessageInfo, 17) -var file_pcmCore_proto_goTypes = []interface{}{ - (MessageStatus)(0), // 0: pcmCore.MessageStatus - (*SyncInfoReq)(nil), // 1: pcmCore.SyncInfoReq - (*AiInfo)(nil), // 2: pcmCore.AiInfo - (*CloudInfo)(nil), // 3: pcmCore.CloudInfo - (*HpcInfo)(nil), // 4: pcmCore.HpcInfo - (*SyncInfoResp)(nil), // 5: pcmCore.SyncInfoResp - (*InfoListReq)(nil), // 6: pcmCore.InfoListReq - (*InfoListResp)(nil), // 7: pcmCore.InfoListResp - (*ParticipantTenant)(nil), // 8: pcmCore.ParticipantTenant - (*ParticipantLabel)(nil), // 9: pcmCore.ParticipantLabel - (*HealthCheckResp)(nil), // 10: pcmCore.HealthCheckResp - (*ParticipantPhyResp)(nil), // 11: pcmCore.ParticipantPhyResp - (*ParticipantPhyReq)(nil), // 12: pcmCore.ParticipantPhyReq - (*NodePhyInfo)(nil), // 13: pcmCore.NodePhyInfo - (*ParticipantHeartbeatReq)(nil), // 14: pcmCore.ParticipantHeartbeatReq - (*ParticipantAvailReq)(nil), // 15: pcmCore.ParticipantAvailReq - (*NodeAvailInfo)(nil), // 16: pcmCore.NodeAvailInfo - (*ParticipantResp)(nil), // 17: pcmCore.ParticipantResp +var file_pb_pcmCore_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_pb_pcmCore_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_pb_pcmCore_proto_goTypes = []interface{}{ + (MessageStatus)(0), // 0: pcmCore.MessageStatus + (*SyncInfoReq)(nil), // 1: pcmCore.SyncInfoReq + (*AiInfo)(nil), // 2: pcmCore.AiInfo + (*CloudInfo)(nil), // 3: pcmCore.CloudInfo + (*HpcInfo)(nil), // 4: pcmCore.HpcInfo + (*SyncInfoResp)(nil), // 5: pcmCore.SyncInfoResp + (*InfoListReq)(nil), // 6: pcmCore.InfoListReq + (*InfoListResp)(nil), // 7: pcmCore.InfoListResp + (*ParticipantTenant)(nil), // 8: pcmCore.ParticipantTenant + (*ParticipantLabel)(nil), // 9: pcmCore.ParticipantLabel + (*HealthCheckResp)(nil), // 10: pcmCore.HealthCheckResp + (*ParticipantPhyResp)(nil), // 11: pcmCore.ParticipantPhyResp + (*ListParticipantPhyResp)(nil), // 12: pcmCore.ListParticipantPhyResp + (*ParticipantPhyReq)(nil), // 13: pcmCore.ParticipantPhyReq + (*NodePhyInfo)(nil), // 14: pcmCore.NodePhyInfo + (*ParticipantHeartbeatReq)(nil), // 15: pcmCore.ParticipantHeartbeatReq + (*ParticipantAvailReq)(nil), // 16: pcmCore.ParticipantAvailReq + (*NodeAvailInfo)(nil), // 17: pcmCore.NodeAvailInfo + (*ListParticipantAvailResp)(nil), // 18: pcmCore.ListParticipantAvailResp + (*ParticipantResp)(nil), // 19: pcmCore.ParticipantResp } -var file_pcmCore_proto_depIdxs = []int32{ +var file_pb_pcmCore_proto_depIdxs = []int32{ 4, // 0: pcmCore.SyncInfoReq.HpcInfoList:type_name -> pcmCore.HpcInfo 3, // 1: pcmCore.SyncInfoReq.CloudInfoList:type_name -> pcmCore.CloudInfo 2, // 2: pcmCore.SyncInfoReq.AiInfoList:type_name -> pcmCore.AiInfo @@ -1955,33 +2127,41 @@ var file_pcmCore_proto_depIdxs = []int32{ 3, // 4: pcmCore.InfoListResp.CloudInfoList:type_name -> pcmCore.CloudInfo 2, // 5: pcmCore.InfoListResp.AiInfoList:type_name -> pcmCore.AiInfo 0, // 6: pcmCore.HealthCheckResp.messageStatus:type_name -> pcmCore.MessageStatus - 13, // 7: pcmCore.ParticipantPhyReq.nodeInfo:type_name -> pcmCore.NodePhyInfo - 9, // 8: pcmCore.ParticipantPhyReq.labelInfo:type_name -> pcmCore.ParticipantLabel - 16, // 9: pcmCore.ParticipantAvailReq.nodeAvailInfo:type_name -> pcmCore.NodeAvailInfo - 1, // 10: pcmCore.pcmCore.SyncInfo:input_type -> pcmCore.SyncInfoReq - 6, // 11: pcmCore.pcmCore.InfoList:input_type -> pcmCore.InfoListReq - 12, // 12: pcmCore.participantService.registerParticipant:input_type -> pcmCore.ParticipantPhyReq - 14, // 13: pcmCore.participantService.reportHeartbeat:input_type -> pcmCore.ParticipantHeartbeatReq - 15, // 14: pcmCore.participantService.reportAvailable:input_type -> pcmCore.ParticipantAvailReq - 5, // 15: pcmCore.pcmCore.SyncInfo:output_type -> pcmCore.SyncInfoResp - 7, // 16: pcmCore.pcmCore.InfoList:output_type -> pcmCore.InfoListResp - 11, // 17: pcmCore.participantService.registerParticipant:output_type -> pcmCore.ParticipantPhyResp - 10, // 18: pcmCore.participantService.reportHeartbeat:output_type -> pcmCore.HealthCheckResp - 17, // 19: pcmCore.participantService.reportAvailable:output_type -> pcmCore.ParticipantResp - 15, // [15:20] is the sub-list for method output_type - 10, // [10:15] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 13, // 7: pcmCore.ListParticipantPhyResp.ParticipantPhys:type_name -> pcmCore.ParticipantPhyReq + 14, // 8: pcmCore.ParticipantPhyReq.nodeInfo:type_name -> pcmCore.NodePhyInfo + 9, // 9: pcmCore.ParticipantPhyReq.labelInfo:type_name -> pcmCore.ParticipantLabel + 17, // 10: pcmCore.ParticipantAvailReq.nodeAvailInfo:type_name -> pcmCore.NodeAvailInfo + 16, // 11: pcmCore.ListParticipantAvailResp.ParticipantAvails:type_name -> pcmCore.ParticipantAvailReq + 1, // 12: pcmCore.pcmCore.SyncInfo:input_type -> pcmCore.SyncInfoReq + 6, // 13: pcmCore.pcmCore.InfoList:input_type -> pcmCore.InfoListReq + 13, // 14: pcmCore.participantService.registerParticipant:input_type -> pcmCore.ParticipantPhyReq + 15, // 15: pcmCore.participantService.reportHeartbeat:input_type -> pcmCore.ParticipantHeartbeatReq + 16, // 16: pcmCore.participantService.reportAvailable:input_type -> pcmCore.ParticipantAvailReq + 8, // 17: pcmCore.participantService.listParticipant:input_type -> pcmCore.ParticipantTenant + 8, // 18: pcmCore.participantService.listPhyAvailable:input_type -> pcmCore.ParticipantTenant + 8, // 19: pcmCore.participantService.listPhyInformation:input_type -> pcmCore.ParticipantTenant + 5, // 20: pcmCore.pcmCore.SyncInfo:output_type -> pcmCore.SyncInfoResp + 7, // 21: pcmCore.pcmCore.InfoList:output_type -> pcmCore.InfoListResp + 11, // 22: pcmCore.participantService.registerParticipant:output_type -> pcmCore.ParticipantPhyResp + 10, // 23: pcmCore.participantService.reportHeartbeat:output_type -> pcmCore.HealthCheckResp + 19, // 24: pcmCore.participantService.reportAvailable:output_type -> pcmCore.ParticipantResp + 19, // 25: pcmCore.participantService.listParticipant:output_type -> pcmCore.ParticipantResp + 18, // 26: pcmCore.participantService.listPhyAvailable:output_type -> pcmCore.ListParticipantAvailResp + 12, // 27: pcmCore.participantService.listPhyInformation:output_type -> pcmCore.ListParticipantPhyResp + 20, // [20:28] is the sub-list for method output_type + 12, // [12:20] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } -func init() { file_pcmCore_proto_init() } -func file_pcmCore_proto_init() { - if File_pcmCore_proto != nil { +func init() { file_pb_pcmCore_proto_init() } +func file_pb_pcmCore_proto_init() { + if File_pb_pcmCore_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_pcmCore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SyncInfoReq); i { case 0: return &v.state @@ -1993,7 +2173,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AiInfo); i { case 0: return &v.state @@ -2005,7 +2185,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloudInfo); i { case 0: return &v.state @@ -2017,7 +2197,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HpcInfo); i { case 0: return &v.state @@ -2029,7 +2209,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SyncInfoResp); i { case 0: return &v.state @@ -2041,7 +2221,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoListReq); i { case 0: return &v.state @@ -2053,7 +2233,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InfoListResp); i { case 0: return &v.state @@ -2065,7 +2245,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParticipantTenant); i { case 0: return &v.state @@ -2077,7 +2257,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParticipantLabel); i { case 0: return &v.state @@ -2089,7 +2269,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckResp); i { case 0: return &v.state @@ -2101,7 +2281,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParticipantPhyResp); i { case 0: return &v.state @@ -2113,7 +2293,19 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListParticipantPhyResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_pcmCore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParticipantPhyReq); i { case 0: return &v.state @@ -2125,7 +2317,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_pb_pcmCore_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodePhyInfo); i { case 0: return &v.state @@ -2137,7 +2329,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[13].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 { case 0: return &v.state @@ -2149,7 +2341,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[14].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 { case 0: return &v.state @@ -2161,7 +2353,7 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[15].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 { case 0: return &v.state @@ -2173,7 +2365,19 @@ func file_pcmCore_proto_init() { return nil } } - file_pcmCore_proto_msgTypes[16].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 { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_pcmCore_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ParticipantResp); i { case 0: return &v.state @@ -2190,19 +2394,19 @@ func file_pcmCore_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pcmCore_proto_rawDesc, + RawDescriptor: file_pb_pcmCore_proto_rawDesc, NumEnums: 1, - NumMessages: 17, + NumMessages: 19, NumExtensions: 0, NumServices: 2, }, - GoTypes: file_pcmCore_proto_goTypes, - DependencyIndexes: file_pcmCore_proto_depIdxs, - EnumInfos: file_pcmCore_proto_enumTypes, - MessageInfos: file_pcmCore_proto_msgTypes, + GoTypes: file_pb_pcmCore_proto_goTypes, + DependencyIndexes: file_pb_pcmCore_proto_depIdxs, + EnumInfos: file_pb_pcmCore_proto_enumTypes, + MessageInfos: file_pb_pcmCore_proto_msgTypes, }.Build() - File_pcmCore_proto = out.File - file_pcmCore_proto_rawDesc = nil - file_pcmCore_proto_goTypes = nil - file_pcmCore_proto_depIdxs = nil + File_pb_pcmCore_proto = out.File + file_pb_pcmCore_proto_rawDesc = nil + file_pb_pcmCore_proto_goTypes = nil + file_pb_pcmCore_proto_depIdxs = nil } diff --git a/rpc/pcmCore/pcmCore_grpc.pb.go b/rpc/pcmCore/pcmCore_grpc.pb.go index 0bdb5022..29d932f3 100644 --- a/rpc/pcmCore/pcmCore_grpc.pb.go +++ b/rpc/pcmCore/pcmCore_grpc.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v3.19.4 -// source: pcmCore.proto +// - protoc v4.23.4 +// source: pb/pcmCore.proto package pcmCore @@ -146,13 +146,16 @@ var PcmCore_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "pcmCore.proto", + Metadata: "pb/pcmCore.proto", } const ( ParticipantService_RegisterParticipant_FullMethodName = "/pcmCore.participantService/registerParticipant" ParticipantService_ReportHeartbeat_FullMethodName = "/pcmCore.participantService/reportHeartbeat" ParticipantService_ReportAvailable_FullMethodName = "/pcmCore.participantService/reportAvailable" + ParticipantService_ListParticipant_FullMethodName = "/pcmCore.participantService/listParticipant" + ParticipantService_ListPhyAvailable_FullMethodName = "/pcmCore.participantService/listPhyAvailable" + ParticipantService_ListPhyInformation_FullMethodName = "/pcmCore.participantService/listPhyInformation" ) // ParticipantServiceClient is the client API for ParticipantService service. @@ -165,6 +168,12 @@ type ParticipantServiceClient interface { ReportHeartbeat(ctx context.Context, in *ParticipantHeartbeatReq, opts ...grpc.CallOption) (*HealthCheckResp, error) // reportAvailable 监控数据上报 ReportAvailable(ctx context.Context, in *ParticipantAvailReq, opts ...grpc.CallOption) (*ParticipantResp, error) + // listParticipant 服务列表 + ListParticipant(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ParticipantResp, error) + // listAvailable 集群动态信息列表 + ListPhyAvailable(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantAvailResp, error) + // listPhyInformation 集群静态信息列表 + ListPhyInformation(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantPhyResp, error) } type participantServiceClient struct { @@ -202,6 +211,33 @@ func (c *participantServiceClient) ReportAvailable(ctx context.Context, in *Part return out, nil } +func (c *participantServiceClient) ListParticipant(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ParticipantResp, error) { + out := new(ParticipantResp) + err := c.cc.Invoke(ctx, ParticipantService_ListParticipant_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *participantServiceClient) ListPhyAvailable(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantAvailResp, error) { + out := new(ListParticipantAvailResp) + err := c.cc.Invoke(ctx, ParticipantService_ListPhyAvailable_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *participantServiceClient) ListPhyInformation(ctx context.Context, in *ParticipantTenant, opts ...grpc.CallOption) (*ListParticipantPhyResp, error) { + out := new(ListParticipantPhyResp) + err := c.cc.Invoke(ctx, ParticipantService_ListPhyInformation_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ParticipantServiceServer is the server API for ParticipantService service. // All implementations must embed UnimplementedParticipantServiceServer // for forward compatibility @@ -212,6 +248,12 @@ type ParticipantServiceServer interface { ReportHeartbeat(context.Context, *ParticipantHeartbeatReq) (*HealthCheckResp, error) // reportAvailable 监控数据上报 ReportAvailable(context.Context, *ParticipantAvailReq) (*ParticipantResp, error) + // listParticipant 服务列表 + ListParticipant(context.Context, *ParticipantTenant) (*ParticipantResp, error) + // listAvailable 集群动态信息列表 + ListPhyAvailable(context.Context, *ParticipantTenant) (*ListParticipantAvailResp, error) + // listPhyInformation 集群静态信息列表 + ListPhyInformation(context.Context, *ParticipantTenant) (*ListParticipantPhyResp, error) mustEmbedUnimplementedParticipantServiceServer() } @@ -228,6 +270,15 @@ func (UnimplementedParticipantServiceServer) ReportHeartbeat(context.Context, *P func (UnimplementedParticipantServiceServer) ReportAvailable(context.Context, *ParticipantAvailReq) (*ParticipantResp, error) { return nil, status.Errorf(codes.Unimplemented, "method ReportAvailable not implemented") } +func (UnimplementedParticipantServiceServer) ListParticipant(context.Context, *ParticipantTenant) (*ParticipantResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListParticipant not implemented") +} +func (UnimplementedParticipantServiceServer) ListPhyAvailable(context.Context, *ParticipantTenant) (*ListParticipantAvailResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPhyAvailable not implemented") +} +func (UnimplementedParticipantServiceServer) ListPhyInformation(context.Context, *ParticipantTenant) (*ListParticipantPhyResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListPhyInformation not implemented") +} func (UnimplementedParticipantServiceServer) mustEmbedUnimplementedParticipantServiceServer() {} // UnsafeParticipantServiceServer may be embedded to opt out of forward compatibility for this service. @@ -295,6 +346,60 @@ func _ParticipantService_ReportAvailable_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _ParticipantService_ListParticipant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ParticipantTenant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ParticipantServiceServer).ListParticipant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ParticipantService_ListParticipant_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ParticipantServiceServer).ListParticipant(ctx, req.(*ParticipantTenant)) + } + return interceptor(ctx, in, info, handler) +} + +func _ParticipantService_ListPhyAvailable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ParticipantTenant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ParticipantServiceServer).ListPhyAvailable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ParticipantService_ListPhyAvailable_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ParticipantServiceServer).ListPhyAvailable(ctx, req.(*ParticipantTenant)) + } + return interceptor(ctx, in, info, handler) +} + +func _ParticipantService_ListPhyInformation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ParticipantTenant) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ParticipantServiceServer).ListPhyInformation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ParticipantService_ListPhyInformation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ParticipantServiceServer).ListPhyInformation(ctx, req.(*ParticipantTenant)) + } + return interceptor(ctx, in, info, handler) +} + // ParticipantService_ServiceDesc is the grpc.ServiceDesc for ParticipantService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -314,7 +419,19 @@ var ParticipantService_ServiceDesc = grpc.ServiceDesc{ MethodName: "reportAvailable", Handler: _ParticipantService_ReportAvailable_Handler, }, + { + MethodName: "listParticipant", + Handler: _ParticipantService_ListParticipant_Handler, + }, + { + MethodName: "listPhyAvailable", + Handler: _ParticipantService_ListPhyAvailable_Handler, + }, + { + MethodName: "listPhyInformation", + Handler: _ParticipantService_ListPhyInformation_Handler, + }, }, Streams: []grpc.StreamDesc{}, - Metadata: "pcmCore.proto", + Metadata: "pb/pcmCore.proto", }