api/pkg/apis/scheduler/v2/scheduler.pb.go

6879 lines
303 KiB
Go

//
// Copyright 2022 The Dragonfly Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc v3.21.6
// source: pkg/apis/scheduler/v2/scheduler.proto
package scheduler
import (
v2 "d7y.io/api/v2/pkg/apis/common/v2"
v21 "d7y.io/api/v2/pkg/apis/errordetails/v2"
_ "github.com/envoyproxy/protoc-gen-validate/validate"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
durationpb "google.golang.org/protobuf/types/known/durationpb"
emptypb "google.golang.org/protobuf/types/known/emptypb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// RegisterPeerRequest represents peer registered request of AnnouncePeerRequest.
type RegisterPeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Download information.
Download *v2.Download `protobuf:"bytes,1,opt,name=download,proto3" json:"download,omitempty"`
}
func (x *RegisterPeerRequest) Reset() {
*x = RegisterPeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegisterPeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterPeerRequest) ProtoMessage() {}
func (x *RegisterPeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[0]
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 RegisterPeerRequest.ProtoReflect.Descriptor instead.
func (*RegisterPeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{0}
}
func (x *RegisterPeerRequest) GetDownload() *v2.Download {
if x != nil {
return x.Download
}
return nil
}
// DownloadPeerStartedRequest represents peer download started request of AnnouncePeerRequest.
type DownloadPeerStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DownloadPeerStartedRequest) Reset() {
*x = DownloadPeerStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPeerStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPeerStartedRequest) ProtoMessage() {}
func (x *DownloadPeerStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[1]
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 DownloadPeerStartedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPeerStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{1}
}
// DownloadPeerBackToSourceStartedRequest represents peer download back-to-source started request of AnnouncePeerRequest.
type DownloadPeerBackToSourceStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the back-to-source reason.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadPeerBackToSourceStartedRequest) Reset() {
*x = DownloadPeerBackToSourceStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPeerBackToSourceStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPeerBackToSourceStartedRequest) ProtoMessage() {}
func (x *DownloadPeerBackToSourceStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2]
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 DownloadPeerBackToSourceStartedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPeerBackToSourceStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{2}
}
func (x *DownloadPeerBackToSourceStartedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// ReschedulePeerRequest represents reschedule request of AnnouncePeerRequest.
type ReschedulePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Candidate parent ids.
CandidateParents []*v2.Peer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
// The description of the reschedule reason.
Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *ReschedulePeerRequest) Reset() {
*x = ReschedulePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReschedulePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReschedulePeerRequest) ProtoMessage() {}
func (x *ReschedulePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3]
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 ReschedulePeerRequest.ProtoReflect.Descriptor instead.
func (*ReschedulePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{3}
}
func (x *ReschedulePeerRequest) GetCandidateParents() []*v2.Peer {
if x != nil {
return x.CandidateParents
}
return nil
}
func (x *ReschedulePeerRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// DownloadPeerFinishedRequest represents peer download finished request of AnnouncePeerRequest.
type DownloadPeerFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total content length.
ContentLength uint64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
// Total piece count.
PieceCount uint32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}
func (x *DownloadPeerFinishedRequest) Reset() {
*x = DownloadPeerFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPeerFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPeerFinishedRequest) ProtoMessage() {}
func (x *DownloadPeerFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[4]
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 DownloadPeerFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPeerFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{4}
}
func (x *DownloadPeerFinishedRequest) GetContentLength() uint64 {
if x != nil {
return x.ContentLength
}
return 0
}
func (x *DownloadPeerFinishedRequest) GetPieceCount() uint32 {
if x != nil {
return x.PieceCount
}
return 0
}
// DownloadPeerBackToSourceFinishedRequest represents peer download back-to-source finished request of AnnouncePeerRequest.
type DownloadPeerBackToSourceFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total content length.
ContentLength uint64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
// Total piece count.
PieceCount uint32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}
func (x *DownloadPeerBackToSourceFinishedRequest) Reset() {
*x = DownloadPeerBackToSourceFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPeerBackToSourceFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPeerBackToSourceFinishedRequest) ProtoMessage() {}
func (x *DownloadPeerBackToSourceFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[5]
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 DownloadPeerBackToSourceFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPeerBackToSourceFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{5}
}
func (x *DownloadPeerBackToSourceFinishedRequest) GetContentLength() uint64 {
if x != nil {
return x.ContentLength
}
return 0
}
func (x *DownloadPeerBackToSourceFinishedRequest) GetPieceCount() uint32 {
if x != nil {
return x.PieceCount
}
return 0
}
// DownloadPeerFailedRequest represents peer download failed request of AnnouncePeerRequest.
type DownloadPeerFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the download failed.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadPeerFailedRequest) Reset() {
*x = DownloadPeerFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPeerFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPeerFailedRequest) ProtoMessage() {}
func (x *DownloadPeerFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6]
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 DownloadPeerFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPeerFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{6}
}
func (x *DownloadPeerFailedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// DownloadPeerBackToSourceFailedRequest represents peer download back-to-source failed request of AnnouncePeerRequest.
type DownloadPeerBackToSourceFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the download back-to-source failed.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadPeerBackToSourceFailedRequest) Reset() {
*x = DownloadPeerBackToSourceFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPeerBackToSourceFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPeerBackToSourceFailedRequest) ProtoMessage() {}
func (x *DownloadPeerBackToSourceFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7]
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 DownloadPeerBackToSourceFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPeerBackToSourceFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{7}
}
func (x *DownloadPeerBackToSourceFailedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// DownloadPieceFinishedRequest represents piece download finished request of AnnouncePeerRequest.
type DownloadPieceFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Piece info.
Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
}
func (x *DownloadPieceFinishedRequest) Reset() {
*x = DownloadPieceFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPieceFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPieceFinishedRequest) ProtoMessage() {}
func (x *DownloadPieceFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[8]
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 DownloadPieceFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPieceFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{8}
}
func (x *DownloadPieceFinishedRequest) GetPiece() *v2.Piece {
if x != nil {
return x.Piece
}
return nil
}
// DownloadPieceBackToSourceFinishedRequest represents piece download back-to-source finished request of AnnouncePeerRequest.
type DownloadPieceBackToSourceFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Piece info.
Piece *v2.Piece `protobuf:"bytes,1,opt,name=piece,proto3" json:"piece,omitempty"`
}
func (x *DownloadPieceBackToSourceFinishedRequest) Reset() {
*x = DownloadPieceBackToSourceFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPieceBackToSourceFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPieceBackToSourceFinishedRequest) ProtoMessage() {}
func (x *DownloadPieceBackToSourceFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[9]
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 DownloadPieceBackToSourceFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPieceBackToSourceFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{9}
}
func (x *DownloadPieceBackToSourceFinishedRequest) GetPiece() *v2.Piece {
if x != nil {
return x.Piece
}
return nil
}
// DownloadPieceFailedRequest downloads piece failed request of AnnouncePeerRequest.
type DownloadPieceFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Piece number.
PieceNumber *uint32 `protobuf:"varint,1,opt,name=piece_number,json=pieceNumber,proto3,oneof" json:"piece_number,omitempty"`
// Parent id.
ParentId string `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
// Temporary indicates whether the error is temporary.
Temporary bool `protobuf:"varint,3,opt,name=temporary,proto3" json:"temporary,omitempty"`
}
func (x *DownloadPieceFailedRequest) Reset() {
*x = DownloadPieceFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPieceFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPieceFailedRequest) ProtoMessage() {}
func (x *DownloadPieceFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DownloadPieceFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPieceFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{10}
}
func (x *DownloadPieceFailedRequest) GetPieceNumber() uint32 {
if x != nil && x.PieceNumber != nil {
return *x.PieceNumber
}
return 0
}
func (x *DownloadPieceFailedRequest) GetParentId() string {
if x != nil {
return x.ParentId
}
return ""
}
func (x *DownloadPieceFailedRequest) GetTemporary() bool {
if x != nil {
return x.Temporary
}
return false
}
// DownloadPieceBackToSourceFailedRequest downloads piece back-to-source failed request of AnnouncePeerRequest.
type DownloadPieceBackToSourceFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Piece number.
PieceNumber *uint32 `protobuf:"varint,1,opt,name=piece_number,json=pieceNumber,proto3,oneof" json:"piece_number,omitempty"`
// Types that are assignable to Response:
//
// *DownloadPieceBackToSourceFailedRequest_Backend
// *DownloadPieceBackToSourceFailedRequest_Unknown
Response isDownloadPieceBackToSourceFailedRequest_Response `protobuf_oneof:"response"`
}
func (x *DownloadPieceBackToSourceFailedRequest) Reset() {
*x = DownloadPieceBackToSourceFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPieceBackToSourceFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPieceBackToSourceFailedRequest) ProtoMessage() {}
func (x *DownloadPieceBackToSourceFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_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 DownloadPieceBackToSourceFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPieceBackToSourceFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{11}
}
func (x *DownloadPieceBackToSourceFailedRequest) GetPieceNumber() uint32 {
if x != nil && x.PieceNumber != nil {
return *x.PieceNumber
}
return 0
}
func (m *DownloadPieceBackToSourceFailedRequest) GetResponse() isDownloadPieceBackToSourceFailedRequest_Response {
if m != nil {
return m.Response
}
return nil
}
func (x *DownloadPieceBackToSourceFailedRequest) GetBackend() *v21.Backend {
if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_Backend); ok {
return x.Backend
}
return nil
}
func (x *DownloadPieceBackToSourceFailedRequest) GetUnknown() *v21.Unknown {
if x, ok := x.GetResponse().(*DownloadPieceBackToSourceFailedRequest_Unknown); ok {
return x.Unknown
}
return nil
}
type isDownloadPieceBackToSourceFailedRequest_Response interface {
isDownloadPieceBackToSourceFailedRequest_Response()
}
type DownloadPieceBackToSourceFailedRequest_Backend struct {
Backend *v21.Backend `protobuf:"bytes,2,opt,name=backend,proto3,oneof"`
}
type DownloadPieceBackToSourceFailedRequest_Unknown struct {
Unknown *v21.Unknown `protobuf:"bytes,3,opt,name=unknown,proto3,oneof"`
}
func (*DownloadPieceBackToSourceFailedRequest_Backend) isDownloadPieceBackToSourceFailedRequest_Response() {
}
func (*DownloadPieceBackToSourceFailedRequest_Unknown) isDownloadPieceBackToSourceFailedRequest_Response() {
}
// AnnouncePeerRequest represents request of AnnouncePeer.
type AnnouncePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// Types that are assignable to Request:
//
// *AnnouncePeerRequest_RegisterPeerRequest
// *AnnouncePeerRequest_DownloadPeerStartedRequest
// *AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest
// *AnnouncePeerRequest_ReschedulePeerRequest
// *AnnouncePeerRequest_DownloadPeerFinishedRequest
// *AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest
// *AnnouncePeerRequest_DownloadPeerFailedRequest
// *AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest
// *AnnouncePeerRequest_DownloadPieceFinishedRequest
// *AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest
// *AnnouncePeerRequest_DownloadPieceFailedRequest
// *AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest
Request isAnnouncePeerRequest_Request `protobuf_oneof:"request"`
}
func (x *AnnouncePeerRequest) Reset() {
*x = AnnouncePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnouncePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnouncePeerRequest) ProtoMessage() {}
func (x *AnnouncePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12]
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 AnnouncePeerRequest.ProtoReflect.Descriptor instead.
func (*AnnouncePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{12}
}
func (x *AnnouncePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *AnnouncePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *AnnouncePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
func (m *AnnouncePeerRequest) GetRequest() isAnnouncePeerRequest_Request {
if m != nil {
return m.Request
}
return nil
}
func (x *AnnouncePeerRequest) GetRegisterPeerRequest() *RegisterPeerRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_RegisterPeerRequest); ok {
return x.RegisterPeerRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPeerStartedRequest() *DownloadPeerStartedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerStartedRequest); ok {
return x.DownloadPeerStartedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceStartedRequest() *DownloadPeerBackToSourceStartedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest); ok {
return x.DownloadPeerBackToSourceStartedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetReschedulePeerRequest() *ReschedulePeerRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_ReschedulePeerRequest); ok {
return x.ReschedulePeerRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPeerFinishedRequest() *DownloadPeerFinishedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerFinishedRequest); ok {
return x.DownloadPeerFinishedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFinishedRequest() *DownloadPeerBackToSourceFinishedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest); ok {
return x.DownloadPeerBackToSourceFinishedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPeerFailedRequest() *DownloadPeerFailedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerFailedRequest); ok {
return x.DownloadPeerFailedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFailedRequest() *DownloadPeerBackToSourceFailedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest); ok {
return x.DownloadPeerBackToSourceFailedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPieceFinishedRequest() *DownloadPieceFinishedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceFinishedRequest); ok {
return x.DownloadPieceFinishedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFinishedRequest() *DownloadPieceBackToSourceFinishedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest); ok {
return x.DownloadPieceBackToSourceFinishedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPieceFailedRequest() *DownloadPieceFailedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceFailedRequest); ok {
return x.DownloadPieceFailedRequest
}
return nil
}
func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFailedRequest() *DownloadPieceBackToSourceFailedRequest {
if x, ok := x.GetRequest().(*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest); ok {
return x.DownloadPieceBackToSourceFailedRequest
}
return nil
}
type isAnnouncePeerRequest_Request interface {
isAnnouncePeerRequest_Request()
}
type AnnouncePeerRequest_RegisterPeerRequest struct {
RegisterPeerRequest *RegisterPeerRequest `protobuf:"bytes,4,opt,name=register_peer_request,json=registerPeerRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPeerStartedRequest struct {
DownloadPeerStartedRequest *DownloadPeerStartedRequest `protobuf:"bytes,5,opt,name=download_peer_started_request,json=downloadPeerStartedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest struct {
DownloadPeerBackToSourceStartedRequest *DownloadPeerBackToSourceStartedRequest `protobuf:"bytes,6,opt,name=download_peer_back_to_source_started_request,json=downloadPeerBackToSourceStartedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_ReschedulePeerRequest struct {
ReschedulePeerRequest *ReschedulePeerRequest `protobuf:"bytes,7,opt,name=reschedule_peer_request,json=reschedulePeerRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPeerFinishedRequest struct {
DownloadPeerFinishedRequest *DownloadPeerFinishedRequest `protobuf:"bytes,8,opt,name=download_peer_finished_request,json=downloadPeerFinishedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest struct {
DownloadPeerBackToSourceFinishedRequest *DownloadPeerBackToSourceFinishedRequest `protobuf:"bytes,9,opt,name=download_peer_back_to_source_finished_request,json=downloadPeerBackToSourceFinishedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPeerFailedRequest struct {
DownloadPeerFailedRequest *DownloadPeerFailedRequest `protobuf:"bytes,10,opt,name=download_peer_failed_request,json=downloadPeerFailedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest struct {
DownloadPeerBackToSourceFailedRequest *DownloadPeerBackToSourceFailedRequest `protobuf:"bytes,11,opt,name=download_peer_back_to_source_failed_request,json=downloadPeerBackToSourceFailedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPieceFinishedRequest struct {
DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,12,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest struct {
DownloadPieceBackToSourceFinishedRequest *DownloadPieceBackToSourceFinishedRequest `protobuf:"bytes,13,opt,name=download_piece_back_to_source_finished_request,json=downloadPieceBackToSourceFinishedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPieceFailedRequest struct {
DownloadPieceFailedRequest *DownloadPieceFailedRequest `protobuf:"bytes,14,opt,name=download_piece_failed_request,json=downloadPieceFailedRequest,proto3,oneof"`
}
type AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest struct {
DownloadPieceBackToSourceFailedRequest *DownloadPieceBackToSourceFailedRequest `protobuf:"bytes,15,opt,name=download_piece_back_to_source_failed_request,json=downloadPieceBackToSourceFailedRequest,proto3,oneof"`
}
func (*AnnouncePeerRequest_RegisterPeerRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPeerStartedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_ReschedulePeerRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPeerFinishedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPeerFailedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPieceFinishedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {
}
func (*AnnouncePeerRequest_DownloadPieceFailedRequest) isAnnouncePeerRequest_Request() {}
func (*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest) isAnnouncePeerRequest_Request() {}
// EmptyTaskResponse represents empty task response of AnnouncePeerResponse.
type EmptyTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *EmptyTaskResponse) Reset() {
*x = EmptyTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EmptyTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EmptyTaskResponse) ProtoMessage() {}
func (x *EmptyTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[13]
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 EmptyTaskResponse.ProtoReflect.Descriptor instead.
func (*EmptyTaskResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{13}
}
// NormalTaskResponse represents normal task response of AnnouncePeerResponse.
type NormalTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Candidate parents.
CandidateParents []*v2.Peer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
}
func (x *NormalTaskResponse) Reset() {
*x = NormalTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NormalTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NormalTaskResponse) ProtoMessage() {}
func (x *NormalTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NormalTaskResponse.ProtoReflect.Descriptor instead.
func (*NormalTaskResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{14}
}
func (x *NormalTaskResponse) GetCandidateParents() []*v2.Peer {
if x != nil {
return x.CandidateParents
}
return nil
}
// NeedBackToSourceResponse represents need back-to-source response of AnnouncePeerResponse.
type NeedBackToSourceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the back-to-source reason.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *NeedBackToSourceResponse) Reset() {
*x = NeedBackToSourceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NeedBackToSourceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NeedBackToSourceResponse) ProtoMessage() {}
func (x *NeedBackToSourceResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15]
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 NeedBackToSourceResponse.ProtoReflect.Descriptor instead.
func (*NeedBackToSourceResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{15}
}
func (x *NeedBackToSourceResponse) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// AnnouncePeerResponse represents response of AnnouncePeer.
type AnnouncePeerResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Response:
//
// *AnnouncePeerResponse_EmptyTaskResponse
// *AnnouncePeerResponse_NormalTaskResponse
// *AnnouncePeerResponse_NeedBackToSourceResponse
Response isAnnouncePeerResponse_Response `protobuf_oneof:"response"`
}
func (x *AnnouncePeerResponse) Reset() {
*x = AnnouncePeerResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnouncePeerResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnouncePeerResponse) ProtoMessage() {}
func (x *AnnouncePeerResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16]
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 AnnouncePeerResponse.ProtoReflect.Descriptor instead.
func (*AnnouncePeerResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{16}
}
func (m *AnnouncePeerResponse) GetResponse() isAnnouncePeerResponse_Response {
if m != nil {
return m.Response
}
return nil
}
func (x *AnnouncePeerResponse) GetEmptyTaskResponse() *EmptyTaskResponse {
if x, ok := x.GetResponse().(*AnnouncePeerResponse_EmptyTaskResponse); ok {
return x.EmptyTaskResponse
}
return nil
}
func (x *AnnouncePeerResponse) GetNormalTaskResponse() *NormalTaskResponse {
if x, ok := x.GetResponse().(*AnnouncePeerResponse_NormalTaskResponse); ok {
return x.NormalTaskResponse
}
return nil
}
func (x *AnnouncePeerResponse) GetNeedBackToSourceResponse() *NeedBackToSourceResponse {
if x, ok := x.GetResponse().(*AnnouncePeerResponse_NeedBackToSourceResponse); ok {
return x.NeedBackToSourceResponse
}
return nil
}
type isAnnouncePeerResponse_Response interface {
isAnnouncePeerResponse_Response()
}
type AnnouncePeerResponse_EmptyTaskResponse struct {
EmptyTaskResponse *EmptyTaskResponse `protobuf:"bytes,1,opt,name=empty_task_response,json=emptyTaskResponse,proto3,oneof"`
}
type AnnouncePeerResponse_NormalTaskResponse struct {
NormalTaskResponse *NormalTaskResponse `protobuf:"bytes,2,opt,name=normal_task_response,json=normalTaskResponse,proto3,oneof"`
}
type AnnouncePeerResponse_NeedBackToSourceResponse struct {
NeedBackToSourceResponse *NeedBackToSourceResponse `protobuf:"bytes,3,opt,name=need_back_to_source_response,json=needBackToSourceResponse,proto3,oneof"`
}
func (*AnnouncePeerResponse_EmptyTaskResponse) isAnnouncePeerResponse_Response() {}
func (*AnnouncePeerResponse_NormalTaskResponse) isAnnouncePeerResponse_Response() {}
func (*AnnouncePeerResponse_NeedBackToSourceResponse) isAnnouncePeerResponse_Response() {}
// StatPeerRequest represents request of StatPeer.
type StatPeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *StatPeerRequest) Reset() {
*x = StatPeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatPeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatPeerRequest) ProtoMessage() {}
func (x *StatPeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_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 StatPeerRequest.ProtoReflect.Descriptor instead.
func (*StatPeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{17}
}
func (x *StatPeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *StatPeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *StatPeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// DeletePeerRequest represents request of DeletePeer.
type DeletePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *DeletePeerRequest) Reset() {
*x = DeletePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeletePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeletePeerRequest) ProtoMessage() {}
func (x *DeletePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[18]
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 DeletePeerRequest.ProtoReflect.Descriptor instead.
func (*DeletePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{18}
}
func (x *DeletePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *DeletePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *DeletePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// StatTaskRequest represents request of StatTask.
type StatTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *StatTaskRequest) Reset() {
*x = StatTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatTaskRequest) ProtoMessage() {}
func (x *StatTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[19]
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 StatTaskRequest.ProtoReflect.Descriptor instead.
func (*StatTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{19}
}
func (x *StatTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *StatTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// DeleteTaskRequest represents request of DeleteTask.
type DeleteTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *DeleteTaskRequest) Reset() {
*x = DeleteTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteTaskRequest) ProtoMessage() {}
func (x *DeleteTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[20]
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 DeleteTaskRequest.ProtoReflect.Descriptor instead.
func (*DeleteTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{20}
}
func (x *DeleteTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *DeleteTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// AnnounceHostRequest represents request of AnnounceHost.
type AnnounceHostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host info.
Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// The interval between dfdaemon announces to scheduler.
Interval *durationpb.Duration `protobuf:"bytes,2,opt,name=interval,proto3,oneof" json:"interval,omitempty"`
}
func (x *AnnounceHostRequest) Reset() {
*x = AnnounceHostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnounceHostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnounceHostRequest) ProtoMessage() {}
func (x *AnnounceHostRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21]
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 AnnounceHostRequest.ProtoReflect.Descriptor instead.
func (*AnnounceHostRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{21}
}
func (x *AnnounceHostRequest) GetHost() *v2.Host {
if x != nil {
return x.Host
}
return nil
}
func (x *AnnounceHostRequest) GetInterval() *durationpb.Duration {
if x != nil {
return x.Interval
}
return nil
}
// ListHostsResponse represents response of ListHosts.
type ListHostsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Hosts info.
Hosts []*v2.Host `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
}
func (x *ListHostsResponse) Reset() {
*x = ListHostsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListHostsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListHostsResponse) ProtoMessage() {}
func (x *ListHostsResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22]
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 ListHostsResponse.ProtoReflect.Descriptor instead.
func (*ListHostsResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{22}
}
func (x *ListHostsResponse) GetHosts() []*v2.Host {
if x != nil {
return x.Hosts
}
return nil
}
// DeleteHostRequest represents request of DeleteHost.
type DeleteHostRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
}
func (x *DeleteHostRequest) Reset() {
*x = DeleteHostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteHostRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteHostRequest) ProtoMessage() {}
func (x *DeleteHostRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23]
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 DeleteHostRequest.ProtoReflect.Descriptor instead.
func (*DeleteHostRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{23}
}
func (x *DeleteHostRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
// RegisterCachePeerRequest represents cache peer registered request of AnnounceCachePeerRequest.
type RegisterCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Download url.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// Digest of the task digest, for example blake3:xxx or sha256:yyy.
Digest *string `protobuf:"bytes,2,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
// Range is url range of request. If protocol is http, range
// will set in request header. If protocol is others, range
// will set in range field.
Range *v2.Range `protobuf:"bytes,3,opt,name=range,proto3,oneof" json:"range,omitempty"`
// Task type.
Type v2.TaskType `protobuf:"varint,4,opt,name=type,proto3,enum=common.v2.TaskType" json:"type,omitempty"`
// URL tag identifies different task for same url.
Tag *string `protobuf:"bytes,5,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
// Application of task.
Application *string `protobuf:"bytes,6,opt,name=application,proto3,oneof" json:"application,omitempty"`
// Peer priority.
Priority v2.Priority `protobuf:"varint,7,opt,name=priority,proto3,enum=common.v2.Priority" json:"priority,omitempty"`
// Filtered query params to generate the task id.
// When filter is ["Signature", "Expires", "ns"], for example:
// http://example.com/xyz?Expires=e1&Signature=s1&ns=docker.io and http://example.com/xyz?Expires=e2&Signature=s2&ns=docker.io
// will generate the same task id.
// Default value includes the filtered query params of s3, gcs, oss, obs, cos.
FilteredQueryParams []string `protobuf:"bytes,8,rep,name=filtered_query_params,json=filteredQueryParams,proto3" json:"filtered_query_params,omitempty"`
// Task request headers.
RequestHeader map[string]string `protobuf:"bytes,9,rep,name=request_header,json=requestHeader,proto3" json:"request_header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Task piece length, the value needs to be greater than or equal to 4194304(4MiB).
PieceLength *uint64 `protobuf:"varint,10,opt,name=piece_length,json=pieceLength,proto3,oneof" json:"piece_length,omitempty"`
// File path to be downloaded. If output_path is set, the downloaded file will be saved to the specified path.
// Dfdaemon will try to create hard link to the output path before starting the download. If hard link creation fails,
// it will copy the file to the output path after the download is completed.
// For more details refer to https://github.com/dragonflyoss/design/blob/main/systems-analysis/file-download-workflow-with-hard-link/README.md.
OutputPath *string `protobuf:"bytes,11,opt,name=output_path,json=outputPath,proto3,oneof" json:"output_path,omitempty"`
// Download timeout.
Timeout *durationpb.Duration `protobuf:"bytes,12,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
// Dfdaemon cannot download the task from the source if disable_back_to_source is true.
DisableBackToSource bool `protobuf:"varint,13,opt,name=disable_back_to_source,json=disableBackToSource,proto3" json:"disable_back_to_source,omitempty"`
// Scheduler needs to schedule the task downloads from the source if need_back_to_source is true.
NeedBackToSource bool `protobuf:"varint,14,opt,name=need_back_to_source,json=needBackToSource,proto3" json:"need_back_to_source,omitempty"`
// certificate_chain is the client certs with DER format for the backend client to download back-to-source.
CertificateChain [][]byte `protobuf:"bytes,15,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
// Prefetch pre-downloads all pieces of the task when the download task request is a range request.
Prefetch bool `protobuf:"varint,16,opt,name=prefetch,proto3" json:"prefetch,omitempty"`
// Object storage protocol information.
ObjectStorage *v2.ObjectStorage `protobuf:"bytes,17,opt,name=object_storage,json=objectStorage,proto3,oneof" json:"object_storage,omitempty"`
// HDFS protocol information.
Hdfs *v2.HDFS `protobuf:"bytes,18,opt,name=hdfs,proto3,oneof" json:"hdfs,omitempty"`
// is_prefetch is the flag to indicate whether the request is a prefetch request.
IsPrefetch bool `protobuf:"varint,19,opt,name=is_prefetch,json=isPrefetch,proto3" json:"is_prefetch,omitempty"`
// need_piece_content is the flag to indicate whether the response needs to return piece content.
NeedPieceContent bool `protobuf:"varint,20,opt,name=need_piece_content,json=needPieceContent,proto3" json:"need_piece_content,omitempty"`
// content_for_calculating_task_id is the content used to calculate the task id.
// If content_for_calculating_task_id is set, use its value to calculate the task ID.
// Otherwise, calculate the task ID based on url, piece_length, tag, application, and filtered_query_params.
ContentForCalculatingTaskId *string `protobuf:"bytes,21,opt,name=content_for_calculating_task_id,json=contentForCalculatingTaskId,proto3,oneof" json:"content_for_calculating_task_id,omitempty"`
// remote_ip represents the IP address of the client initiating the download request.
// For proxy requests, it is set to the IP address of the request source.
// For dfget requests, it is set to the IP address of the dfget.
RemoteIp *string `protobuf:"bytes,22,opt,name=remote_ip,json=remoteIp,proto3,oneof" json:"remote_ip,omitempty"`
}
func (x *RegisterCachePeerRequest) Reset() {
*x = RegisterCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegisterCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterCachePeerRequest) ProtoMessage() {}
func (x *RegisterCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24]
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 RegisterCachePeerRequest.ProtoReflect.Descriptor instead.
func (*RegisterCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{24}
}
func (x *RegisterCachePeerRequest) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *RegisterCachePeerRequest) GetDigest() string {
if x != nil && x.Digest != nil {
return *x.Digest
}
return ""
}
func (x *RegisterCachePeerRequest) GetRange() *v2.Range {
if x != nil {
return x.Range
}
return nil
}
func (x *RegisterCachePeerRequest) GetType() v2.TaskType {
if x != nil {
return x.Type
}
return v2.TaskType(0)
}
func (x *RegisterCachePeerRequest) GetTag() string {
if x != nil && x.Tag != nil {
return *x.Tag
}
return ""
}
func (x *RegisterCachePeerRequest) GetApplication() string {
if x != nil && x.Application != nil {
return *x.Application
}
return ""
}
func (x *RegisterCachePeerRequest) GetPriority() v2.Priority {
if x != nil {
return x.Priority
}
return v2.Priority(0)
}
func (x *RegisterCachePeerRequest) GetFilteredQueryParams() []string {
if x != nil {
return x.FilteredQueryParams
}
return nil
}
func (x *RegisterCachePeerRequest) GetRequestHeader() map[string]string {
if x != nil {
return x.RequestHeader
}
return nil
}
func (x *RegisterCachePeerRequest) GetPieceLength() uint64 {
if x != nil && x.PieceLength != nil {
return *x.PieceLength
}
return 0
}
func (x *RegisterCachePeerRequest) GetOutputPath() string {
if x != nil && x.OutputPath != nil {
return *x.OutputPath
}
return ""
}
func (x *RegisterCachePeerRequest) GetTimeout() *durationpb.Duration {
if x != nil {
return x.Timeout
}
return nil
}
func (x *RegisterCachePeerRequest) GetDisableBackToSource() bool {
if x != nil {
return x.DisableBackToSource
}
return false
}
func (x *RegisterCachePeerRequest) GetNeedBackToSource() bool {
if x != nil {
return x.NeedBackToSource
}
return false
}
func (x *RegisterCachePeerRequest) GetCertificateChain() [][]byte {
if x != nil {
return x.CertificateChain
}
return nil
}
func (x *RegisterCachePeerRequest) GetPrefetch() bool {
if x != nil {
return x.Prefetch
}
return false
}
func (x *RegisterCachePeerRequest) GetObjectStorage() *v2.ObjectStorage {
if x != nil {
return x.ObjectStorage
}
return nil
}
func (x *RegisterCachePeerRequest) GetHdfs() *v2.HDFS {
if x != nil {
return x.Hdfs
}
return nil
}
func (x *RegisterCachePeerRequest) GetIsPrefetch() bool {
if x != nil {
return x.IsPrefetch
}
return false
}
func (x *RegisterCachePeerRequest) GetNeedPieceContent() bool {
if x != nil {
return x.NeedPieceContent
}
return false
}
func (x *RegisterCachePeerRequest) GetContentForCalculatingTaskId() string {
if x != nil && x.ContentForCalculatingTaskId != nil {
return *x.ContentForCalculatingTaskId
}
return ""
}
func (x *RegisterCachePeerRequest) GetRemoteIp() string {
if x != nil && x.RemoteIp != nil {
return *x.RemoteIp
}
return ""
}
// DownloadCachePeerStartedRequest represents cache peer download started request of AnnounceCachePeerRequest.
type DownloadCachePeerStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DownloadCachePeerStartedRequest) Reset() {
*x = DownloadCachePeerStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadCachePeerStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadCachePeerStartedRequest) ProtoMessage() {}
func (x *DownloadCachePeerStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25]
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 DownloadCachePeerStartedRequest.ProtoReflect.Descriptor instead.
func (*DownloadCachePeerStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{25}
}
// DownloadCachePeerBackToSourceStartedRequest represents cache peer download back-to-source started request of AnnounceCachePeerRequest.
type DownloadCachePeerBackToSourceStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the back-to-source reason.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadCachePeerBackToSourceStartedRequest) Reset() {
*x = DownloadCachePeerBackToSourceStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadCachePeerBackToSourceStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadCachePeerBackToSourceStartedRequest) ProtoMessage() {}
func (x *DownloadCachePeerBackToSourceStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26]
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 DownloadCachePeerBackToSourceStartedRequest.ProtoReflect.Descriptor instead.
func (*DownloadCachePeerBackToSourceStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{26}
}
func (x *DownloadCachePeerBackToSourceStartedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// RescheduleCachePeerRequest represents reschedule request of AnnounceCachePeerRequest.
type RescheduleCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Candidate parent ids.
CandidateParents []*v2.CachePeer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
// The description of the reschedule reason.
Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *RescheduleCachePeerRequest) Reset() {
*x = RescheduleCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RescheduleCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RescheduleCachePeerRequest) ProtoMessage() {}
func (x *RescheduleCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27]
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 RescheduleCachePeerRequest.ProtoReflect.Descriptor instead.
func (*RescheduleCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{27}
}
func (x *RescheduleCachePeerRequest) GetCandidateParents() []*v2.CachePeer {
if x != nil {
return x.CandidateParents
}
return nil
}
func (x *RescheduleCachePeerRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// DownloadCachePeerFinishedRequest represents cache peer download finished request of AnnounceCachePeerRequest.
type DownloadCachePeerFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total content length.
ContentLength uint64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
// Total piece count.
PieceCount uint32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}
func (x *DownloadCachePeerFinishedRequest) Reset() {
*x = DownloadCachePeerFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadCachePeerFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadCachePeerFinishedRequest) ProtoMessage() {}
func (x *DownloadCachePeerFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28]
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 DownloadCachePeerFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadCachePeerFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{28}
}
func (x *DownloadCachePeerFinishedRequest) GetContentLength() uint64 {
if x != nil {
return x.ContentLength
}
return 0
}
func (x *DownloadCachePeerFinishedRequest) GetPieceCount() uint32 {
if x != nil {
return x.PieceCount
}
return 0
}
// DownloadCachePeerBackToSourceFinishedRequest represents cache peer download back-to-source finished request of AnnounceCachePeerRequest.
type DownloadCachePeerBackToSourceFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total content length.
ContentLength uint64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
// Total piece count.
PieceCount uint32 `protobuf:"varint,2,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}
func (x *DownloadCachePeerBackToSourceFinishedRequest) Reset() {
*x = DownloadCachePeerBackToSourceFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadCachePeerBackToSourceFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadCachePeerBackToSourceFinishedRequest) ProtoMessage() {}
func (x *DownloadCachePeerBackToSourceFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29]
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 DownloadCachePeerBackToSourceFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadCachePeerBackToSourceFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{29}
}
func (x *DownloadCachePeerBackToSourceFinishedRequest) GetContentLength() uint64 {
if x != nil {
return x.ContentLength
}
return 0
}
func (x *DownloadCachePeerBackToSourceFinishedRequest) GetPieceCount() uint32 {
if x != nil {
return x.PieceCount
}
return 0
}
// DownloadCachePeerFailedRequest represents cache peer download failed request of AnnounceCachePeerRequest.
type DownloadCachePeerFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the download failed.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadCachePeerFailedRequest) Reset() {
*x = DownloadCachePeerFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadCachePeerFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadCachePeerFailedRequest) ProtoMessage() {}
func (x *DownloadCachePeerFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30]
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 DownloadCachePeerFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadCachePeerFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{30}
}
func (x *DownloadCachePeerFailedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// DownloadCachePeerBackToSourceFailedRequest represents cache peer download back-to-source failed request of AnnounceCachePeerRequest.
type DownloadCachePeerBackToSourceFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the download back-to-source failed.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadCachePeerBackToSourceFailedRequest) Reset() {
*x = DownloadCachePeerBackToSourceFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadCachePeerBackToSourceFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadCachePeerBackToSourceFailedRequest) ProtoMessage() {}
func (x *DownloadCachePeerBackToSourceFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31]
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 DownloadCachePeerBackToSourceFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadCachePeerBackToSourceFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31}
}
func (x *DownloadCachePeerBackToSourceFailedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// AnnounceCachePeerRequest represents request of AnnounceCachePeer.
type AnnounceCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// Types that are assignable to Request:
//
// *AnnounceCachePeerRequest_RegisterCachePeerRequest
// *AnnounceCachePeerRequest_DownloadCachePeerStartedRequest
// *AnnounceCachePeerRequest_DownloadCachePeerBackToSourceStartedRequest
// *AnnounceCachePeerRequest_RescheduleCachePeerRequest
// *AnnounceCachePeerRequest_DownloadCachePeerFinishedRequest
// *AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFinishedRequest
// *AnnounceCachePeerRequest_DownloadCachePeerFailedRequest
// *AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFailedRequest
// *AnnounceCachePeerRequest_DownloadPieceFinishedRequest
// *AnnounceCachePeerRequest_DownloadPieceBackToSourceFinishedRequest
// *AnnounceCachePeerRequest_DownloadPieceFailedRequest
// *AnnounceCachePeerRequest_DownloadPieceBackToSourceFailedRequest
Request isAnnounceCachePeerRequest_Request `protobuf_oneof:"request"`
}
func (x *AnnounceCachePeerRequest) Reset() {
*x = AnnounceCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnounceCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnounceCachePeerRequest) ProtoMessage() {}
func (x *AnnounceCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32]
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 AnnounceCachePeerRequest.ProtoReflect.Descriptor instead.
func (*AnnounceCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{32}
}
func (x *AnnounceCachePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *AnnounceCachePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *AnnounceCachePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
func (m *AnnounceCachePeerRequest) GetRequest() isAnnounceCachePeerRequest_Request {
if m != nil {
return m.Request
}
return nil
}
func (x *AnnounceCachePeerRequest) GetRegisterCachePeerRequest() *RegisterCachePeerRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_RegisterCachePeerRequest); ok {
return x.RegisterCachePeerRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadCachePeerStartedRequest() *DownloadCachePeerStartedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadCachePeerStartedRequest); ok {
return x.DownloadCachePeerStartedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadCachePeerBackToSourceStartedRequest() *DownloadCachePeerBackToSourceStartedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceStartedRequest); ok {
return x.DownloadCachePeerBackToSourceStartedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetRescheduleCachePeerRequest() *RescheduleCachePeerRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_RescheduleCachePeerRequest); ok {
return x.RescheduleCachePeerRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadCachePeerFinishedRequest() *DownloadCachePeerFinishedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadCachePeerFinishedRequest); ok {
return x.DownloadCachePeerFinishedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadCachePeerBackToSourceFinishedRequest() *DownloadCachePeerBackToSourceFinishedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFinishedRequest); ok {
return x.DownloadCachePeerBackToSourceFinishedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadCachePeerFailedRequest() *DownloadCachePeerFailedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadCachePeerFailedRequest); ok {
return x.DownloadCachePeerFailedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadCachePeerBackToSourceFailedRequest() *DownloadCachePeerBackToSourceFailedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFailedRequest); ok {
return x.DownloadCachePeerBackToSourceFailedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadPieceFinishedRequest() *DownloadPieceFinishedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadPieceFinishedRequest); ok {
return x.DownloadPieceFinishedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadPieceBackToSourceFinishedRequest() *DownloadPieceBackToSourceFinishedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadPieceBackToSourceFinishedRequest); ok {
return x.DownloadPieceBackToSourceFinishedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadPieceFailedRequest() *DownloadPieceFailedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadPieceFailedRequest); ok {
return x.DownloadPieceFailedRequest
}
return nil
}
func (x *AnnounceCachePeerRequest) GetDownloadPieceBackToSourceFailedRequest() *DownloadPieceBackToSourceFailedRequest {
if x, ok := x.GetRequest().(*AnnounceCachePeerRequest_DownloadPieceBackToSourceFailedRequest); ok {
return x.DownloadPieceBackToSourceFailedRequest
}
return nil
}
type isAnnounceCachePeerRequest_Request interface {
isAnnounceCachePeerRequest_Request()
}
type AnnounceCachePeerRequest_RegisterCachePeerRequest struct {
RegisterCachePeerRequest *RegisterCachePeerRequest `protobuf:"bytes,4,opt,name=register_cache_peer_request,json=registerCachePeerRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadCachePeerStartedRequest struct {
DownloadCachePeerStartedRequest *DownloadCachePeerStartedRequest `protobuf:"bytes,5,opt,name=download_cache_peer_started_request,json=downloadCachePeerStartedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadCachePeerBackToSourceStartedRequest struct {
DownloadCachePeerBackToSourceStartedRequest *DownloadCachePeerBackToSourceStartedRequest `protobuf:"bytes,6,opt,name=download_cache_peer_back_to_source_started_request,json=downloadCachePeerBackToSourceStartedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_RescheduleCachePeerRequest struct {
RescheduleCachePeerRequest *RescheduleCachePeerRequest `protobuf:"bytes,7,opt,name=reschedule_cache_peer_request,json=rescheduleCachePeerRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadCachePeerFinishedRequest struct {
DownloadCachePeerFinishedRequest *DownloadCachePeerFinishedRequest `protobuf:"bytes,8,opt,name=download_cache_peer_finished_request,json=downloadCachePeerFinishedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFinishedRequest struct {
DownloadCachePeerBackToSourceFinishedRequest *DownloadCachePeerBackToSourceFinishedRequest `protobuf:"bytes,9,opt,name=download_cache_peer_back_to_source_finished_request,json=downloadCachePeerBackToSourceFinishedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadCachePeerFailedRequest struct {
DownloadCachePeerFailedRequest *DownloadCachePeerFailedRequest `protobuf:"bytes,10,opt,name=download_cache_peer_failed_request,json=downloadCachePeerFailedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFailedRequest struct {
DownloadCachePeerBackToSourceFailedRequest *DownloadCachePeerBackToSourceFailedRequest `protobuf:"bytes,11,opt,name=download_cache_peer_back_to_source_failed_request,json=downloadCachePeerBackToSourceFailedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadPieceFinishedRequest struct {
DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,12,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadPieceBackToSourceFinishedRequest struct {
DownloadPieceBackToSourceFinishedRequest *DownloadPieceBackToSourceFinishedRequest `protobuf:"bytes,13,opt,name=download_piece_back_to_source_finished_request,json=downloadPieceBackToSourceFinishedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadPieceFailedRequest struct {
DownloadPieceFailedRequest *DownloadPieceFailedRequest `protobuf:"bytes,14,opt,name=download_piece_failed_request,json=downloadPieceFailedRequest,proto3,oneof"`
}
type AnnounceCachePeerRequest_DownloadPieceBackToSourceFailedRequest struct {
DownloadPieceBackToSourceFailedRequest *DownloadPieceBackToSourceFailedRequest `protobuf:"bytes,15,opt,name=download_piece_back_to_source_failed_request,json=downloadPieceBackToSourceFailedRequest,proto3,oneof"`
}
func (*AnnounceCachePeerRequest_RegisterCachePeerRequest) isAnnounceCachePeerRequest_Request() {}
func (*AnnounceCachePeerRequest_DownloadCachePeerStartedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceStartedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_RescheduleCachePeerRequest) isAnnounceCachePeerRequest_Request() {}
func (*AnnounceCachePeerRequest_DownloadCachePeerFinishedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFinishedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_DownloadCachePeerFailedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFailedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_DownloadPieceFinishedRequest) isAnnounceCachePeerRequest_Request() {}
func (*AnnounceCachePeerRequest_DownloadPieceBackToSourceFinishedRequest) isAnnounceCachePeerRequest_Request() {
}
func (*AnnounceCachePeerRequest_DownloadPieceFailedRequest) isAnnounceCachePeerRequest_Request() {}
func (*AnnounceCachePeerRequest_DownloadPieceBackToSourceFailedRequest) isAnnounceCachePeerRequest_Request() {
}
// EmptyCacheTaskResponse represents empty cache task response of AnnounceCachePeerResponse.
type EmptyCacheTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *EmptyCacheTaskResponse) Reset() {
*x = EmptyCacheTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EmptyCacheTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EmptyCacheTaskResponse) ProtoMessage() {}
func (x *EmptyCacheTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33]
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 EmptyCacheTaskResponse.ProtoReflect.Descriptor instead.
func (*EmptyCacheTaskResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{33}
}
// NormalCacheTaskResponse represents normal cache task response of AnnounceCachePeerResponse.
type NormalCacheTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Candidate parents.
CandidateParents []*v2.CachePeer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
}
func (x *NormalCacheTaskResponse) Reset() {
*x = NormalCacheTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NormalCacheTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NormalCacheTaskResponse) ProtoMessage() {}
func (x *NormalCacheTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34]
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 NormalCacheTaskResponse.ProtoReflect.Descriptor instead.
func (*NormalCacheTaskResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{34}
}
func (x *NormalCacheTaskResponse) GetCandidateParents() []*v2.CachePeer {
if x != nil {
return x.CandidateParents
}
return nil
}
// AnnounceCachePeerResponse represents response of AnnounceCachePeer.
type AnnounceCachePeerResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Response:
//
// *AnnounceCachePeerResponse_EmptyCacheTaskResponse
// *AnnounceCachePeerResponse_NormalCacheTaskResponse
// *AnnounceCachePeerResponse_NeedBackToSourceResponse
Response isAnnounceCachePeerResponse_Response `protobuf_oneof:"response"`
}
func (x *AnnounceCachePeerResponse) Reset() {
*x = AnnounceCachePeerResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnounceCachePeerResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnounceCachePeerResponse) ProtoMessage() {}
func (x *AnnounceCachePeerResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35]
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 AnnounceCachePeerResponse.ProtoReflect.Descriptor instead.
func (*AnnounceCachePeerResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{35}
}
func (m *AnnounceCachePeerResponse) GetResponse() isAnnounceCachePeerResponse_Response {
if m != nil {
return m.Response
}
return nil
}
func (x *AnnounceCachePeerResponse) GetEmptyCacheTaskResponse() *EmptyCacheTaskResponse {
if x, ok := x.GetResponse().(*AnnounceCachePeerResponse_EmptyCacheTaskResponse); ok {
return x.EmptyCacheTaskResponse
}
return nil
}
func (x *AnnounceCachePeerResponse) GetNormalCacheTaskResponse() *NormalCacheTaskResponse {
if x, ok := x.GetResponse().(*AnnounceCachePeerResponse_NormalCacheTaskResponse); ok {
return x.NormalCacheTaskResponse
}
return nil
}
func (x *AnnounceCachePeerResponse) GetNeedBackToSourceResponse() *NeedBackToSourceResponse {
if x, ok := x.GetResponse().(*AnnounceCachePeerResponse_NeedBackToSourceResponse); ok {
return x.NeedBackToSourceResponse
}
return nil
}
type isAnnounceCachePeerResponse_Response interface {
isAnnounceCachePeerResponse_Response()
}
type AnnounceCachePeerResponse_EmptyCacheTaskResponse struct {
EmptyCacheTaskResponse *EmptyCacheTaskResponse `protobuf:"bytes,1,opt,name=empty_cache_task_response,json=emptyCacheTaskResponse,proto3,oneof"`
}
type AnnounceCachePeerResponse_NormalCacheTaskResponse struct {
NormalCacheTaskResponse *NormalCacheTaskResponse `protobuf:"bytes,2,opt,name=normal_cache_task_response,json=normalCacheTaskResponse,proto3,oneof"`
}
type AnnounceCachePeerResponse_NeedBackToSourceResponse struct {
NeedBackToSourceResponse *NeedBackToSourceResponse `protobuf:"bytes,3,opt,name=need_back_to_source_response,json=needBackToSourceResponse,proto3,oneof"`
}
func (*AnnounceCachePeerResponse_EmptyCacheTaskResponse) isAnnounceCachePeerResponse_Response() {}
func (*AnnounceCachePeerResponse_NormalCacheTaskResponse) isAnnounceCachePeerResponse_Response() {}
func (*AnnounceCachePeerResponse_NeedBackToSourceResponse) isAnnounceCachePeerResponse_Response() {}
// StatCachePeerRequest represents request of StatCachePeer.
type StatCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *StatCachePeerRequest) Reset() {
*x = StatCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatCachePeerRequest) ProtoMessage() {}
func (x *StatCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36]
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 StatCachePeerRequest.ProtoReflect.Descriptor instead.
func (*StatCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{36}
}
func (x *StatCachePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *StatCachePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *StatCachePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// DeleteCachePeerRequest represents request of DeleteCachePeer.
type DeleteCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *DeleteCachePeerRequest) Reset() {
*x = DeleteCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteCachePeerRequest) ProtoMessage() {}
func (x *DeleteCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37]
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 DeleteCachePeerRequest.ProtoReflect.Descriptor instead.
func (*DeleteCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{37}
}
func (x *DeleteCachePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *DeleteCachePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *DeleteCachePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// StatCacheTaskRequest represents request of StatCacheTask.
type StatCacheTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *StatCacheTaskRequest) Reset() {
*x = StatCacheTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatCacheTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatCacheTaskRequest) ProtoMessage() {}
func (x *StatCacheTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[38]
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 StatCacheTaskRequest.ProtoReflect.Descriptor instead.
func (*StatCacheTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{38}
}
func (x *StatCacheTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *StatCacheTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// DeleteCacheTaskRequest represents request of DeleteCacheTask.
type DeleteCacheTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *DeleteCacheTaskRequest) Reset() {
*x = DeleteCacheTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeleteCacheTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeleteCacheTaskRequest) ProtoMessage() {}
func (x *DeleteCacheTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[39]
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 DeleteCacheTaskRequest.ProtoReflect.Descriptor instead.
func (*DeleteCacheTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{39}
}
func (x *DeleteCacheTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *DeleteCacheTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// RegisterPersistentCachePeerRequest represents persistent cache peer registered request of AnnouncePersistentCachePeerRequest.
type RegisterPersistentCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Persistent represents whether the persistent cache task is persistent.
// If the persistent cache task is persistent, the persistent cache peer will
// not be deleted when dfdaemon runs garbage collection.
Persistent bool `protobuf:"varint,1,opt,name=persistent,proto3" json:"persistent,omitempty"`
// Tag is used to distinguish different persistent cache tasks.
Tag *string `protobuf:"bytes,2,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
// Application of task.
Application *string `protobuf:"bytes,3,opt,name=application,proto3,oneof" json:"application,omitempty"`
// Task piece length, the value needs to be greater than or equal to 4194304(4MiB)
PieceLength uint64 `protobuf:"varint,4,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"`
// File path to be exported.
OutputPath *string `protobuf:"bytes,5,opt,name=output_path,json=outputPath,proto3,oneof" json:"output_path,omitempty"`
// Download timeout.
Timeout *durationpb.Duration `protobuf:"bytes,6,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
}
func (x *RegisterPersistentCachePeerRequest) Reset() {
*x = RegisterPersistentCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RegisterPersistentCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RegisterPersistentCachePeerRequest) ProtoMessage() {}
func (x *RegisterPersistentCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[40]
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 RegisterPersistentCachePeerRequest.ProtoReflect.Descriptor instead.
func (*RegisterPersistentCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{40}
}
func (x *RegisterPersistentCachePeerRequest) GetPersistent() bool {
if x != nil {
return x.Persistent
}
return false
}
func (x *RegisterPersistentCachePeerRequest) GetTag() string {
if x != nil && x.Tag != nil {
return *x.Tag
}
return ""
}
func (x *RegisterPersistentCachePeerRequest) GetApplication() string {
if x != nil && x.Application != nil {
return *x.Application
}
return ""
}
func (x *RegisterPersistentCachePeerRequest) GetPieceLength() uint64 {
if x != nil {
return x.PieceLength
}
return 0
}
func (x *RegisterPersistentCachePeerRequest) GetOutputPath() string {
if x != nil && x.OutputPath != nil {
return *x.OutputPath
}
return ""
}
func (x *RegisterPersistentCachePeerRequest) GetTimeout() *durationpb.Duration {
if x != nil {
return x.Timeout
}
return nil
}
// DownloadPersistentCachePeerStartedRequest represents persistent cache peer download started request of AnnouncePersistentCachePeerRequest.
type DownloadPersistentCachePeerStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DownloadPersistentCachePeerStartedRequest) Reset() {
*x = DownloadPersistentCachePeerStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPersistentCachePeerStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPersistentCachePeerStartedRequest) ProtoMessage() {}
func (x *DownloadPersistentCachePeerStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[41]
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 DownloadPersistentCachePeerStartedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPersistentCachePeerStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{41}
}
// ReschedulePersistentCachePeerRequest represents reschedule request of AnnouncePersistentCachePeerRequest.
type ReschedulePersistentCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Candidate parent ids.
CandidateParents []*v2.PersistentCachePeer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
// The description of the reschedule reason.
Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *ReschedulePersistentCachePeerRequest) Reset() {
*x = ReschedulePersistentCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReschedulePersistentCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReschedulePersistentCachePeerRequest) ProtoMessage() {}
func (x *ReschedulePersistentCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[42]
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 ReschedulePersistentCachePeerRequest.ProtoReflect.Descriptor instead.
func (*ReschedulePersistentCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{42}
}
func (x *ReschedulePersistentCachePeerRequest) GetCandidateParents() []*v2.PersistentCachePeer {
if x != nil {
return x.CandidateParents
}
return nil
}
func (x *ReschedulePersistentCachePeerRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// DownloadPersistentCachePeerFinishedRequest represents persistent cache peer download finished request of AnnouncePersistentCachePeerRequest.
type DownloadPersistentCachePeerFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total piece count.
PieceCount uint32 `protobuf:"varint,1,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
}
func (x *DownloadPersistentCachePeerFinishedRequest) Reset() {
*x = DownloadPersistentCachePeerFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPersistentCachePeerFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPersistentCachePeerFinishedRequest) ProtoMessage() {}
func (x *DownloadPersistentCachePeerFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[43]
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 DownloadPersistentCachePeerFinishedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPersistentCachePeerFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{43}
}
func (x *DownloadPersistentCachePeerFinishedRequest) GetPieceCount() uint32 {
if x != nil {
return x.PieceCount
}
return 0
}
// DownloadPersistentCachePeerFailedRequest represents persistent cache peer download failed request of AnnouncePersistentCachePeerRequest.
type DownloadPersistentCachePeerFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The description of the download failed.
Description *string `protobuf:"bytes,1,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *DownloadPersistentCachePeerFailedRequest) Reset() {
*x = DownloadPersistentCachePeerFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DownloadPersistentCachePeerFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DownloadPersistentCachePeerFailedRequest) ProtoMessage() {}
func (x *DownloadPersistentCachePeerFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[44]
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 DownloadPersistentCachePeerFailedRequest.ProtoReflect.Descriptor instead.
func (*DownloadPersistentCachePeerFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{44}
}
func (x *DownloadPersistentCachePeerFailedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// AnnouncePersistentCachePeerRequest represents request of AnnouncePersistentCachePeer.
type AnnouncePersistentCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// Types that are assignable to Request:
//
// *AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest
// *AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest
// *AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest
// *AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest
// *AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest
// *AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest
// *AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest
Request isAnnouncePersistentCachePeerRequest_Request `protobuf_oneof:"request"`
}
func (x *AnnouncePersistentCachePeerRequest) Reset() {
*x = AnnouncePersistentCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnouncePersistentCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnouncePersistentCachePeerRequest) ProtoMessage() {}
func (x *AnnouncePersistentCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[45]
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 AnnouncePersistentCachePeerRequest.ProtoReflect.Descriptor instead.
func (*AnnouncePersistentCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{45}
}
func (x *AnnouncePersistentCachePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *AnnouncePersistentCachePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *AnnouncePersistentCachePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
func (m *AnnouncePersistentCachePeerRequest) GetRequest() isAnnouncePersistentCachePeerRequest_Request {
if m != nil {
return m.Request
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetRegisterPersistentCachePeerRequest() *RegisterPersistentCachePeerRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest); ok {
return x.RegisterPersistentCachePeerRequest
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetDownloadPersistentCachePeerStartedRequest() *DownloadPersistentCachePeerStartedRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest); ok {
return x.DownloadPersistentCachePeerStartedRequest
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetReschedulePersistentCachePeerRequest() *ReschedulePersistentCachePeerRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest); ok {
return x.ReschedulePersistentCachePeerRequest
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetDownloadPersistentCachePeerFinishedRequest() *DownloadPersistentCachePeerFinishedRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest); ok {
return x.DownloadPersistentCachePeerFinishedRequest
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetDownloadPersistentCachePeerFailedRequest() *DownloadPersistentCachePeerFailedRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest); ok {
return x.DownloadPersistentCachePeerFailedRequest
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetDownloadPieceFinishedRequest() *DownloadPieceFinishedRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest); ok {
return x.DownloadPieceFinishedRequest
}
return nil
}
func (x *AnnouncePersistentCachePeerRequest) GetDownloadPieceFailedRequest() *DownloadPieceFailedRequest {
if x, ok := x.GetRequest().(*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest); ok {
return x.DownloadPieceFailedRequest
}
return nil
}
type isAnnouncePersistentCachePeerRequest_Request interface {
isAnnouncePersistentCachePeerRequest_Request()
}
type AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest struct {
RegisterPersistentCachePeerRequest *RegisterPersistentCachePeerRequest `protobuf:"bytes,4,opt,name=register_persistent_cache_peer_request,json=registerPersistentCachePeerRequest,proto3,oneof"`
}
type AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest struct {
DownloadPersistentCachePeerStartedRequest *DownloadPersistentCachePeerStartedRequest `protobuf:"bytes,5,opt,name=download_persistent_cache_peer_started_request,json=downloadPersistentCachePeerStartedRequest,proto3,oneof"`
}
type AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest struct {
ReschedulePersistentCachePeerRequest *ReschedulePersistentCachePeerRequest `protobuf:"bytes,6,opt,name=reschedule_persistent_cache_peer_request,json=reschedulePersistentCachePeerRequest,proto3,oneof"`
}
type AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest struct {
DownloadPersistentCachePeerFinishedRequest *DownloadPersistentCachePeerFinishedRequest `protobuf:"bytes,7,opt,name=download_persistent_cache_peer_finished_request,json=downloadPersistentCachePeerFinishedRequest,proto3,oneof"`
}
type AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest struct {
DownloadPersistentCachePeerFailedRequest *DownloadPersistentCachePeerFailedRequest `protobuf:"bytes,8,opt,name=download_persistent_cache_peer_failed_request,json=downloadPersistentCachePeerFailedRequest,proto3,oneof"`
}
type AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest struct {
DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,9,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"`
}
type AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest struct {
DownloadPieceFailedRequest *DownloadPieceFailedRequest `protobuf:"bytes,10,opt,name=download_piece_failed_request,json=downloadPieceFailedRequest,proto3,oneof"`
}
func (*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
func (*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
func (*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
func (*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
func (*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
func (*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
func (*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest) isAnnouncePersistentCachePeerRequest_Request() {
}
// EmptyPersistentCacheTaskResponse represents empty persistent cache task response of AnnouncePersistentCachePeerResponse.
type EmptyPersistentCacheTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *EmptyPersistentCacheTaskResponse) Reset() {
*x = EmptyPersistentCacheTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *EmptyPersistentCacheTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EmptyPersistentCacheTaskResponse) ProtoMessage() {}
func (x *EmptyPersistentCacheTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[46]
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 EmptyPersistentCacheTaskResponse.ProtoReflect.Descriptor instead.
func (*EmptyPersistentCacheTaskResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{46}
}
// NormalPersistentCacheTaskResponse represents normal persistent cache task response of AnnouncePersistentCachePeerResponse.
type NormalPersistentCacheTaskResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Candidate parents.
CandidateParents []*v2.PersistentCachePeer `protobuf:"bytes,1,rep,name=candidate_parents,json=candidateParents,proto3" json:"candidate_parents,omitempty"`
}
func (x *NormalPersistentCacheTaskResponse) Reset() {
*x = NormalPersistentCacheTaskResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *NormalPersistentCacheTaskResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NormalPersistentCacheTaskResponse) ProtoMessage() {}
func (x *NormalPersistentCacheTaskResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[47]
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 NormalPersistentCacheTaskResponse.ProtoReflect.Descriptor instead.
func (*NormalPersistentCacheTaskResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{47}
}
func (x *NormalPersistentCacheTaskResponse) GetCandidateParents() []*v2.PersistentCachePeer {
if x != nil {
return x.CandidateParents
}
return nil
}
// AnnouncePersistentCachePeerResponse represents response of AnnouncePersistentCachePeer.
type AnnouncePersistentCachePeerResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Types that are assignable to Response:
//
// *AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse
// *AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse
Response isAnnouncePersistentCachePeerResponse_Response `protobuf_oneof:"response"`
}
func (x *AnnouncePersistentCachePeerResponse) Reset() {
*x = AnnouncePersistentCachePeerResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnnouncePersistentCachePeerResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnnouncePersistentCachePeerResponse) ProtoMessage() {}
func (x *AnnouncePersistentCachePeerResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[48]
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 AnnouncePersistentCachePeerResponse.ProtoReflect.Descriptor instead.
func (*AnnouncePersistentCachePeerResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{48}
}
func (m *AnnouncePersistentCachePeerResponse) GetResponse() isAnnouncePersistentCachePeerResponse_Response {
if m != nil {
return m.Response
}
return nil
}
func (x *AnnouncePersistentCachePeerResponse) GetEmptyPersistentCacheTaskResponse() *EmptyPersistentCacheTaskResponse {
if x, ok := x.GetResponse().(*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse); ok {
return x.EmptyPersistentCacheTaskResponse
}
return nil
}
func (x *AnnouncePersistentCachePeerResponse) GetNormalPersistentCacheTaskResponse() *NormalPersistentCacheTaskResponse {
if x, ok := x.GetResponse().(*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse); ok {
return x.NormalPersistentCacheTaskResponse
}
return nil
}
type isAnnouncePersistentCachePeerResponse_Response interface {
isAnnouncePersistentCachePeerResponse_Response()
}
type AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse struct {
EmptyPersistentCacheTaskResponse *EmptyPersistentCacheTaskResponse `protobuf:"bytes,1,opt,name=empty_persistent_cache_task_response,json=emptyPersistentCacheTaskResponse,proto3,oneof"`
}
type AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse struct {
NormalPersistentCacheTaskResponse *NormalPersistentCacheTaskResponse `protobuf:"bytes,2,opt,name=normal_persistent_cache_task_response,json=normalPersistentCacheTaskResponse,proto3,oneof"`
}
func (*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse) isAnnouncePersistentCachePeerResponse_Response() {
}
func (*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse) isAnnouncePersistentCachePeerResponse_Response() {
}
// StatPersistentCachePeerRequest represents request of StatPersistentCachePeer.
type StatPersistentCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *StatPersistentCachePeerRequest) Reset() {
*x = StatPersistentCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatPersistentCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatPersistentCachePeerRequest) ProtoMessage() {}
func (x *StatPersistentCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[49]
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 StatPersistentCachePeerRequest.ProtoReflect.Descriptor instead.
func (*StatPersistentCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{49}
}
func (x *StatPersistentCachePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *StatPersistentCachePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *StatPersistentCachePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// DeletePersistentCachePeerRequest represents request of DeletePersistentCachePeer.
type DeletePersistentCachePeerRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *DeletePersistentCachePeerRequest) Reset() {
*x = DeletePersistentCachePeerRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeletePersistentCachePeerRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeletePersistentCachePeerRequest) ProtoMessage() {}
func (x *DeletePersistentCachePeerRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[50]
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 DeletePersistentCachePeerRequest.ProtoReflect.Descriptor instead.
func (*DeletePersistentCachePeerRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{50}
}
func (x *DeletePersistentCachePeerRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *DeletePersistentCachePeerRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *DeletePersistentCachePeerRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// UploadPersistentCacheTaskStartedRequest represents upload persistent cache task started request of UploadPersistentCacheTaskStartedRequest.
type UploadPersistentCacheTaskStartedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// Replica count of the persistent cache task.
PersistentReplicaCount uint64 `protobuf:"varint,4,opt,name=persistent_replica_count,json=persistentReplicaCount,proto3" json:"persistent_replica_count,omitempty"`
// Tag is used to distinguish different persistent cache tasks.
Tag *string `protobuf:"bytes,5,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
// Application of task.
Application *string `protobuf:"bytes,6,opt,name=application,proto3,oneof" json:"application,omitempty"`
// Task piece length, the value needs to be greater than or equal to 4194304(4MiB)
PieceLength uint64 `protobuf:"varint,7,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"`
// Task content length.
ContentLength uint64 `protobuf:"varint,8,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
// Task piece count.
PieceCount uint32 `protobuf:"varint,9,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"`
// TTL of the persistent cache task.
Ttl *durationpb.Duration `protobuf:"bytes,10,opt,name=ttl,proto3" json:"ttl,omitempty"`
}
func (x *UploadPersistentCacheTaskStartedRequest) Reset() {
*x = UploadPersistentCacheTaskStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UploadPersistentCacheTaskStartedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UploadPersistentCacheTaskStartedRequest) ProtoMessage() {}
func (x *UploadPersistentCacheTaskStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[51]
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 UploadPersistentCacheTaskStartedRequest.ProtoReflect.Descriptor instead.
func (*UploadPersistentCacheTaskStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{51}
}
func (x *UploadPersistentCacheTaskStartedRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *UploadPersistentCacheTaskStartedRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *UploadPersistentCacheTaskStartedRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
func (x *UploadPersistentCacheTaskStartedRequest) GetPersistentReplicaCount() uint64 {
if x != nil {
return x.PersistentReplicaCount
}
return 0
}
func (x *UploadPersistentCacheTaskStartedRequest) GetTag() string {
if x != nil && x.Tag != nil {
return *x.Tag
}
return ""
}
func (x *UploadPersistentCacheTaskStartedRequest) GetApplication() string {
if x != nil && x.Application != nil {
return *x.Application
}
return ""
}
func (x *UploadPersistentCacheTaskStartedRequest) GetPieceLength() uint64 {
if x != nil {
return x.PieceLength
}
return 0
}
func (x *UploadPersistentCacheTaskStartedRequest) GetContentLength() uint64 {
if x != nil {
return x.ContentLength
}
return 0
}
func (x *UploadPersistentCacheTaskStartedRequest) GetPieceCount() uint32 {
if x != nil {
return x.PieceCount
}
return 0
}
func (x *UploadPersistentCacheTaskStartedRequest) GetTtl() *durationpb.Duration {
if x != nil {
return x.Ttl
}
return nil
}
// UploadPersistentCacheTaskFinishedRequest represents upload persistent cache task finished request of UploadPersistentCacheTaskFinishedRequest.
type UploadPersistentCacheTaskFinishedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
}
func (x *UploadPersistentCacheTaskFinishedRequest) Reset() {
*x = UploadPersistentCacheTaskFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UploadPersistentCacheTaskFinishedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UploadPersistentCacheTaskFinishedRequest) ProtoMessage() {}
func (x *UploadPersistentCacheTaskFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[52]
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 UploadPersistentCacheTaskFinishedRequest.ProtoReflect.Descriptor instead.
func (*UploadPersistentCacheTaskFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{52}
}
func (x *UploadPersistentCacheTaskFinishedRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *UploadPersistentCacheTaskFinishedRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *UploadPersistentCacheTaskFinishedRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
// UploadPersistentCacheTaskFailedRequest represents upload persistent cache task failed request of UploadPersistentCacheTaskFailedRequest.
type UploadPersistentCacheTaskFailedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
// Peer id.
PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"`
// The description of the upload failed.
Description *string `protobuf:"bytes,4,opt,name=description,proto3,oneof" json:"description,omitempty"`
}
func (x *UploadPersistentCacheTaskFailedRequest) Reset() {
*x = UploadPersistentCacheTaskFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UploadPersistentCacheTaskFailedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UploadPersistentCacheTaskFailedRequest) ProtoMessage() {}
func (x *UploadPersistentCacheTaskFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[53]
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 UploadPersistentCacheTaskFailedRequest.ProtoReflect.Descriptor instead.
func (*UploadPersistentCacheTaskFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{53}
}
func (x *UploadPersistentCacheTaskFailedRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *UploadPersistentCacheTaskFailedRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
func (x *UploadPersistentCacheTaskFailedRequest) GetPeerId() string {
if x != nil {
return x.PeerId
}
return ""
}
func (x *UploadPersistentCacheTaskFailedRequest) GetDescription() string {
if x != nil && x.Description != nil {
return *x.Description
}
return ""
}
// StatPersistentCacheTaskRequest represents request of StatPersistentCacheTask.
type StatPersistentCacheTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *StatPersistentCacheTaskRequest) Reset() {
*x = StatPersistentCacheTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatPersistentCacheTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatPersistentCacheTaskRequest) ProtoMessage() {}
func (x *StatPersistentCacheTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[54]
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 StatPersistentCacheTaskRequest.ProtoReflect.Descriptor instead.
func (*StatPersistentCacheTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{54}
}
func (x *StatPersistentCacheTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *StatPersistentCacheTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// DeletePersistentCacheTaskRequest represents request of DeletePersistentCacheTask.
type DeletePersistentCacheTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *DeletePersistentCacheTaskRequest) Reset() {
*x = DeletePersistentCacheTaskRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[55]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DeletePersistentCacheTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeletePersistentCacheTaskRequest) ProtoMessage() {}
func (x *DeletePersistentCacheTaskRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[55]
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 DeletePersistentCacheTaskRequest.ProtoReflect.Descriptor instead.
func (*DeletePersistentCacheTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{55}
}
func (x *DeletePersistentCacheTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *DeletePersistentCacheTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// PreheatImageRequest represents request of PreheatImage.
type PreheatImageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// URL is the image manifest url for preheating.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// Piece Length is the piece length(bytes) for downloading file. The value needs to
// be greater than 4MiB (4,194,304 bytes) and less than 64MiB (67,108,864 bytes),
// for example: 4194304(4mib), 8388608(8mib). If the piece length is not specified,
// the piece length will be calculated according to the file size.
PieceLength *uint64 `protobuf:"varint,2,opt,name=piece_length,json=pieceLength,proto3,oneof" json:"piece_length,omitempty"`
// Tag is the tag for preheating.
Tag *string `protobuf:"bytes,3,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
// Application is the application string for preheating.
Application *string `protobuf:"bytes,4,opt,name=application,proto3,oneof" json:"application,omitempty"`
// Filtered query params to generate the task id.
// When filter is ["Signature", "Expires", "ns"], for example:
// http://example.com/xyz?Expires=e1&Signature=s1&ns=docker.io and http://example.com/xyz?Expires=e2&Signature=s2&ns=docker.io
// will generate the same task id.
// Default value includes the filtered query params of s3, gcs, oss, obs, cos.
FilteredQueryParams []string `protobuf:"bytes,5,rep,name=filtered_query_params,json=filteredQueryParams,proto3" json:"filtered_query_params,omitempty"`
// Header is the http headers for authentication.
Header map[string]string `protobuf:"bytes,6,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Username is the username for authentication.
Username *string `protobuf:"bytes,7,opt,name=username,proto3,oneof" json:"username,omitempty"`
// Password is the password for authentication.
Password *string `protobuf:"bytes,8,opt,name=password,proto3,oneof" json:"password,omitempty"`
// Platform is the platform for preheating, such as linux/amd64, linux/arm64, etc.
Platform *string `protobuf:"bytes,9,opt,name=platform,proto3,oneof" json:"platform,omitempty"`
// Scope is the scope for preheating, it can be one of the following values:
// - single_seed_peer: preheat from a single seed peer.
// - all_seed_peers: preheat from all seed peers.
// - all_peers: preheat from all available peers.
Scope string `protobuf:"bytes,10,opt,name=scope,proto3" json:"scope,omitempty"`
// IPs is a list of specific peer IPs for preheating.
// This field has the highest priority: if provided, both 'Count' and 'Percentage' will be ignored.
// Applies to 'all_peers' and 'all_seed_peers' scopes.
Ips []string `protobuf:"bytes,11,rep,name=ips,proto3" json:"ips,omitempty"`
// Percentage is the percentage of available peers to preheat.
// This field has the lowest priority and is only used if both 'IPs' and 'Count' are not provided.
// It must be a value between 1 and 100 (inclusive) if provided.
// Applies to 'all_peers' and 'all_seed_peers' scopes.
Percentage *uint32 `protobuf:"varint,12,opt,name=percentage,proto3,oneof" json:"percentage,omitempty"`
// Count is the desired number of peers to preheat.
// This field is used only when 'IPs' is not specified. It has priority over 'Percentage'.
// It must be a value between 1 and 200 (inclusive) if provided.
// Applies to 'all_peers' and 'all_seed_peers' scopes.
Count *uint32 `protobuf:"varint,13,opt,name=count,proto3,oneof" json:"count,omitempty"`
// ConcurrentTaskCount specifies the maximum number of tasks (e.g., image layers) to preheat concurrently.
// For example, if preheating 100 layers with ConcurrentTaskCount set to 10, up to 10 layers are processed simultaneously.
// If ConcurrentPeerCount is 10 for 1000 peers, each layer is preheated by 10 peers concurrently.
// Default is 8, maximum is 100.
ConcurrentTaskCount *int64 `protobuf:"varint,14,opt,name=concurrent_task_count,json=concurrentTaskCount,proto3,oneof" json:"concurrent_task_count,omitempty"`
// ConcurrentPeerCount specifies the maximum number of peers to preheat concurrently for a single task (e.g., an image layer).
// For example, if preheating a layer with ConcurrentPeerCount set to 10, up to 10 peers process that layer simultaneously.
// Default is 500, maximum is 1000.
ConcurrentPeerCount *int64 `protobuf:"varint,15,opt,name=concurrent_peer_count,json=concurrentPeerCount,proto3,oneof" json:"concurrent_peer_count,omitempty"`
// Timeout is the timeout for preheating, default is 30 minutes.
Timeout *durationpb.Duration `protobuf:"bytes,16,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
// Preheat priority.
Priority v2.Priority `protobuf:"varint,17,opt,name=priority,proto3,enum=common.v2.Priority" json:"priority,omitempty"`
// certificate_chain is the client certs with DER format for the backend client.
CertificateChain [][]byte `protobuf:"bytes,18,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
// insecure_skip_verify indicates whether to skip TLS verification.
InsecureSkipVerify bool `protobuf:"varint,19,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
}
func (x *PreheatImageRequest) Reset() {
*x = PreheatImageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[56]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PreheatImageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PreheatImageRequest) ProtoMessage() {}
func (x *PreheatImageRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[56]
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 PreheatImageRequest.ProtoReflect.Descriptor instead.
func (*PreheatImageRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{56}
}
func (x *PreheatImageRequest) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *PreheatImageRequest) GetPieceLength() uint64 {
if x != nil && x.PieceLength != nil {
return *x.PieceLength
}
return 0
}
func (x *PreheatImageRequest) GetTag() string {
if x != nil && x.Tag != nil {
return *x.Tag
}
return ""
}
func (x *PreheatImageRequest) GetApplication() string {
if x != nil && x.Application != nil {
return *x.Application
}
return ""
}
func (x *PreheatImageRequest) GetFilteredQueryParams() []string {
if x != nil {
return x.FilteredQueryParams
}
return nil
}
func (x *PreheatImageRequest) GetHeader() map[string]string {
if x != nil {
return x.Header
}
return nil
}
func (x *PreheatImageRequest) GetUsername() string {
if x != nil && x.Username != nil {
return *x.Username
}
return ""
}
func (x *PreheatImageRequest) GetPassword() string {
if x != nil && x.Password != nil {
return *x.Password
}
return ""
}
func (x *PreheatImageRequest) GetPlatform() string {
if x != nil && x.Platform != nil {
return *x.Platform
}
return ""
}
func (x *PreheatImageRequest) GetScope() string {
if x != nil {
return x.Scope
}
return ""
}
func (x *PreheatImageRequest) GetIps() []string {
if x != nil {
return x.Ips
}
return nil
}
func (x *PreheatImageRequest) GetPercentage() uint32 {
if x != nil && x.Percentage != nil {
return *x.Percentage
}
return 0
}
func (x *PreheatImageRequest) GetCount() uint32 {
if x != nil && x.Count != nil {
return *x.Count
}
return 0
}
func (x *PreheatImageRequest) GetConcurrentTaskCount() int64 {
if x != nil && x.ConcurrentTaskCount != nil {
return *x.ConcurrentTaskCount
}
return 0
}
func (x *PreheatImageRequest) GetConcurrentPeerCount() int64 {
if x != nil && x.ConcurrentPeerCount != nil {
return *x.ConcurrentPeerCount
}
return 0
}
func (x *PreheatImageRequest) GetTimeout() *durationpb.Duration {
if x != nil {
return x.Timeout
}
return nil
}
func (x *PreheatImageRequest) GetPriority() v2.Priority {
if x != nil {
return x.Priority
}
return v2.Priority(0)
}
func (x *PreheatImageRequest) GetCertificateChain() [][]byte {
if x != nil {
return x.CertificateChain
}
return nil
}
func (x *PreheatImageRequest) GetInsecureSkipVerify() bool {
if x != nil {
return x.InsecureSkipVerify
}
return false
}
// StatImageRequest represents request of StatImage.
type StatImageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// URL is the image manifest url for preheating.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
// Piece Length is the piece length(bytes) for downloading file. The value needs to
// be greater than 4MiB (4,194,304 bytes) and less than 64MiB (67,108,864 bytes),
// for example: 4194304(4mib), 8388608(8mib). If the piece length is not specified,
// the piece length will be calculated according to the file size.
PieceLength *uint64 `protobuf:"varint,2,opt,name=piece_length,json=pieceLength,proto3,oneof" json:"piece_length,omitempty"`
// Tag is the tag for preheating.
Tag *string `protobuf:"bytes,3,opt,name=tag,proto3,oneof" json:"tag,omitempty"`
// Application is the application string for preheating.
Application *string `protobuf:"bytes,4,opt,name=application,proto3,oneof" json:"application,omitempty"`
// Filtered query params to generate the task id.
// When filter is ["Signature", "Expires", "ns"], for example:
// http://example.com/xyz?Expires=e1&Signature=s1&ns=docker.io and http://example.com/xyz?Expires=e2&Signature=s2&ns=docker.io
// will generate the same task id.
// Default value includes the filtered query params of s3, gcs, oss, obs, cos.
FilteredQueryParams []string `protobuf:"bytes,5,rep,name=filtered_query_params,json=filteredQueryParams,proto3" json:"filtered_query_params,omitempty"`
// Header is the http headers for authentication.
Header map[string]string `protobuf:"bytes,6,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Username is the username for authentication.
Username *string `protobuf:"bytes,7,opt,name=username,proto3,oneof" json:"username,omitempty"`
// Password is the password for authentication.
Password *string `protobuf:"bytes,8,opt,name=password,proto3,oneof" json:"password,omitempty"`
// Platform is the platform for preheating, such as linux/amd64, linux/arm64, etc.
Platform *string `protobuf:"bytes,9,opt,name=platform,proto3,oneof" json:"platform,omitempty"`
// ConcurrentLayerCount specifies the maximum number of layers to get concurrently.
// For example, if stat 100 layers with ConcurrentLayerCount set to 10, up to 10 layers are processed simultaneously.
// If ConcurrentPeerCount is 10 for 1000 peers, each layer is stated by 10 peers concurrently.
// Default is 8, maximum is 100.
ConcurrentLayerCount *int64 `protobuf:"varint,10,opt,name=concurrent_layer_count,json=concurrentLayerCount,proto3,oneof" json:"concurrent_layer_count,omitempty"`
// ConcurrentPeerCount specifies the maximum number of peers stat concurrently for a single task (e.g., an image layer).
// For example, if stat a layer with ConcurrentPeerCount set to 10, up to 10 peers process that layer simultaneously.
// Default is 500, maximum is 1000.
ConcurrentPeerCount *int64 `protobuf:"varint,11,opt,name=concurrent_peer_count,json=concurrentPeerCount,proto3,oneof" json:"concurrent_peer_count,omitempty"`
// Timeout is the timeout for preheating, default is 30 minutes.
Timeout *durationpb.Duration `protobuf:"bytes,12,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"`
// certificate_chain is the client certs with DER format for the backend client.
CertificateChain [][]byte `protobuf:"bytes,13,rep,name=certificate_chain,json=certificateChain,proto3" json:"certificate_chain,omitempty"`
// insecure_skip_verify indicates whether to skip TLS verification.
InsecureSkipVerify bool `protobuf:"varint,14,opt,name=insecure_skip_verify,json=insecureSkipVerify,proto3" json:"insecure_skip_verify,omitempty"`
}
func (x *StatImageRequest) Reset() {
*x = StatImageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[57]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatImageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatImageRequest) ProtoMessage() {}
func (x *StatImageRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[57]
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 StatImageRequest.ProtoReflect.Descriptor instead.
func (*StatImageRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{57}
}
func (x *StatImageRequest) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *StatImageRequest) GetPieceLength() uint64 {
if x != nil && x.PieceLength != nil {
return *x.PieceLength
}
return 0
}
func (x *StatImageRequest) GetTag() string {
if x != nil && x.Tag != nil {
return *x.Tag
}
return ""
}
func (x *StatImageRequest) GetApplication() string {
if x != nil && x.Application != nil {
return *x.Application
}
return ""
}
func (x *StatImageRequest) GetFilteredQueryParams() []string {
if x != nil {
return x.FilteredQueryParams
}
return nil
}
func (x *StatImageRequest) GetHeader() map[string]string {
if x != nil {
return x.Header
}
return nil
}
func (x *StatImageRequest) GetUsername() string {
if x != nil && x.Username != nil {
return *x.Username
}
return ""
}
func (x *StatImageRequest) GetPassword() string {
if x != nil && x.Password != nil {
return *x.Password
}
return ""
}
func (x *StatImageRequest) GetPlatform() string {
if x != nil && x.Platform != nil {
return *x.Platform
}
return ""
}
func (x *StatImageRequest) GetConcurrentLayerCount() int64 {
if x != nil && x.ConcurrentLayerCount != nil {
return *x.ConcurrentLayerCount
}
return 0
}
func (x *StatImageRequest) GetConcurrentPeerCount() int64 {
if x != nil && x.ConcurrentPeerCount != nil {
return *x.ConcurrentPeerCount
}
return 0
}
func (x *StatImageRequest) GetTimeout() *durationpb.Duration {
if x != nil {
return x.Timeout
}
return nil
}
func (x *StatImageRequest) GetCertificateChain() [][]byte {
if x != nil {
return x.CertificateChain
}
return nil
}
func (x *StatImageRequest) GetInsecureSkipVerify() bool {
if x != nil {
return x.InsecureSkipVerify
}
return false
}
// StatImageResponse represents response of StatImage.
type StatImageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Image is the image information.
Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
// Peers is the peers that have downloaded the image.
Peers []*PeerImage `protobuf:"bytes,2,rep,name=peers,proto3" json:"peers,omitempty"`
}
func (x *StatImageResponse) Reset() {
*x = StatImageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[58]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *StatImageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*StatImageResponse) ProtoMessage() {}
func (x *StatImageResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[58]
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 StatImageResponse.ProtoReflect.Descriptor instead.
func (*StatImageResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{58}
}
func (x *StatImageResponse) GetImage() *Image {
if x != nil {
return x.Image
}
return nil
}
func (x *StatImageResponse) GetPeers() []*PeerImage {
if x != nil {
return x.Peers
}
return nil
}
// PeerImage represents a peer in the get image job.
type PeerImage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// IP is the IP address of the peer.
Ip string `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
// Hostname is the hostname of the peer.
Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
// CachedLayers is the list of layers that the peer has downloaded.
CachedLayers []*Layer `protobuf:"bytes,3,rep,name=cached_layers,json=cachedLayers,proto3" json:"cached_layers,omitempty"`
}
func (x *PeerImage) Reset() {
*x = PeerImage{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[59]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PeerImage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PeerImage) ProtoMessage() {}
func (x *PeerImage) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[59]
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 PeerImage.ProtoReflect.Descriptor instead.
func (*PeerImage) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{59}
}
func (x *PeerImage) GetIp() string {
if x != nil {
return x.Ip
}
return ""
}
func (x *PeerImage) GetHostname() string {
if x != nil {
return x.Hostname
}
return ""
}
func (x *PeerImage) GetCachedLayers() []*Layer {
if x != nil {
return x.CachedLayers
}
return nil
}
// Image represents the image information.
type Image struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Layers is the list of layers of the image.
Layers []*Layer `protobuf:"bytes,1,rep,name=layers,proto3" json:"layers,omitempty"`
}
func (x *Image) Reset() {
*x = Image{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[60]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Image) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Image) ProtoMessage() {}
func (x *Image) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[60]
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 Image.ProtoReflect.Descriptor instead.
func (*Image) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{60}
}
func (x *Image) GetLayers() []*Layer {
if x != nil {
return x.Layers
}
return nil
}
// Layer represents a layer of the image.
type Layer struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// URL is the URL of the layer.
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
}
func (x *Layer) Reset() {
*x = Layer{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[61]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Layer) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Layer) ProtoMessage() {}
func (x *Layer) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[61]
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 Layer.ProtoReflect.Descriptor instead.
func (*Layer) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{61}
}
func (x *Layer) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
var File_pkg_apis_scheduler_v2_scheduler_proto protoreflect.FileDescriptor
var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{
0x0a, 0x25, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2e, 0x76, 0x32, 0x1a, 0x1f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73,
0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2f, 0x76, 0x32,
0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61,
0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,
0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x50, 0x0a, 0x13, 0x52, 0x65, 0x67,
0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x39, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x44,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
0x01, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x26, 0x44, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10,
0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x3c, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61,
0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x10, 0x63, 0x61,
0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31,
0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48,
0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x65, 0x0a, 0x1b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65,
0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67,
0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69,
0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x71, 0x0a, 0x27, 0x44, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f,
0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c,
0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e,
0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69,
0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5e, 0x0a, 0x19, 0x44,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa,
0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x25, 0x44,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54,
0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05,
0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x1c, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x76, 0x32, 0x2e, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02,
0x10, 0x01, 0x52, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x28, 0x44, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f,
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
0x2e, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
0x52, 0x05, 0x70, 0x69, 0x65, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x1a, 0x44, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f,
0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b,
0x70, 0x69, 0x65, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x24,
0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72,
0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61,
0x72, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x22, 0xde, 0x01, 0x0a, 0x26, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26,
0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e,
0x64, 0x48, 0x00, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x34, 0x0a, 0x07,
0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e,
0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x75, 0x6e, 0x6b, 0x6e, 0x6f,
0x77, 0x6e, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03,
0xf8, 0x42, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x22, 0xed, 0x0c, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63,
0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07,
0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72,
0x49, 0x64, 0x12, 0x57, 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70,
0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61,
0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72,
0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x2c, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63,
0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72,
0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63,
0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x5d, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x15, 0x72, 0x65, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x70, 0x0a, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65,
0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x97, 0x01, 0x0a, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72,
0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x00, 0x52, 0x27, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65,
0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x1c,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x19, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x91, 0x01, 0x0a, 0x2b, 0x64, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f,
0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f,
0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x25, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50,
0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x9a, 0x01, 0x0a, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70,
0x69, 0x65, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x48, 0x00, 0x52, 0x28, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69,
0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d,
0x0a, 0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18,
0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65,
0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
0x00, 0x52, 0x1a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65,
0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01,
0x0a, 0x2c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63,
0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54,
0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x03, 0xf8, 0x42, 0x01, 0x22, 0x13, 0x0a, 0x11, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x0a, 0x12, 0x4e, 0x6f, 0x72,
0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x46, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72,
0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05,
0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x5d, 0x0a, 0x18, 0x4e, 0x65, 0x65, 0x64, 0x42,
0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10,
0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x75,
0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x51, 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52,
0x11, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x54, 0x0a, 0x14, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x73,
0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x1c, 0x6e, 0x65, 0x65, 0x64,
0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65,
0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x18, 0x6e, 0x65, 0x65, 0x64, 0x42, 0x61,
0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03,
0xf8, 0x42, 0x01, 0x22, 0x77, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01,
0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b,
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65,
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x79, 0x0a, 0x11,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73,
0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74,
0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f,
0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x57,
0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68,
0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f,
0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08,
0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3a,
0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69,
0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x3a, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x48,
0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05,
0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x68, 0x6f,
0x73, 0x74, 0x73, 0x22, 0x35, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 0xc9, 0x0b, 0x0a, 0x18, 0x52,
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, 0x03,
0x75, 0x72, 0x6c, 0x12, 0xb0, 0x01, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x42, 0x92, 0x01, 0xfa, 0x42, 0x8e, 0x01, 0x72, 0x8b, 0x01, 0x32, 0x85,
0x01, 0x5e, 0x28, 0x6d, 0x64, 0x35, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d,
0x39, 0x5d, 0x7b, 0x33, 0x32, 0x7d, 0x7c, 0x73, 0x68, 0x61, 0x31, 0x3a, 0x5b, 0x61, 0x2d, 0x66,
0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x34, 0x30, 0x7d, 0x7c, 0x73, 0x68, 0x61, 0x32,
0x35, 0x36, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x36,
0x34, 0x7d, 0x7c, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d,
0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x62, 0x6c, 0x61, 0x6b, 0x65,
0x33, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x36, 0x34,
0x7d, 0x7c, 0x63, 0x72, 0x63, 0x33, 0x32, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30,
0x2d, 0x39, 0x5d, 0x2b, 0x29, 0x24, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x06, 0x64, 0x69, 0x67,
0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76,
0x32, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x01, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65,
0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61,
0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01,
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x76, 0x32, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05,
0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12,
0x32, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72,
0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13,
0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x12, 0x60, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68,
0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73,
0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65,
0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48,
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c,
0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0c, 0xfa, 0x42, 0x09,
0x32, 0x07, 0x28, 0x80, 0x80, 0x80, 0x02, 0x40, 0x01, 0x48, 0x04, 0x52, 0x0b, 0x70, 0x69, 0x65,
0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0b, 0x6f,
0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09,
0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x05, 0x52, 0x0a,
0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a,
0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x06, 0x52, 0x07, 0x74, 0x69, 0x6d,
0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x16, 0x64, 0x69, 0x73, 0x61, 0x62,
0x6c, 0x65, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x13,
0x6e, 0x65, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x42,
0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63,
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e,
0x18, 0x0f, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66,
0x65, 0x74, 0x63, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66,
0x65, 0x74, 0x63, 0x68, 0x12, 0x44, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53,
0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x07, 0x52, 0x0d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x04, 0x68, 0x64,
0x66, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x44, 0x46, 0x53, 0x48, 0x08, 0x52, 0x04, 0x68, 0x64, 0x66,
0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65,
0x74, 0x63, 0x68, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x50, 0x72, 0x65,
0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x69,
0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28,
0x08, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x1f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x66,
0x6f, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x74,
0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x1b,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c,
0x61, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c,
0x0a, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x16, 0x20, 0x01, 0x28,
0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x70, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x0a, 0x52,
0x08, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x70, 0x88, 0x01, 0x01, 0x1a, 0x40, 0x0a, 0x12,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74,
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09,
0x0a, 0x07, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61,
0x6e, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0e, 0x0a, 0x0c,
0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x62, 0x6a,
0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f,
0x68, 0x64, 0x66, 0x73, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67,
0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x6d,
0x6f, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x70, 0x0a, 0x2b, 0x44, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61,
0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa,
0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73,
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0x0a, 0x1a,
0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x11, 0x63, 0x61,
0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76,
0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x10, 0x63, 0x61, 0x6e,
0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00,
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01,
0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0x6a, 0x0a, 0x20, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f,
0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f,
0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70,
0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x76, 0x0a, 0x2c,
0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e,
0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e,
0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75,
0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43,
0x6f, 0x75, 0x6e, 0x74, 0x22, 0x63, 0x0a, 0x1e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07,
0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x2a, 0x44, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61,
0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42,
0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64,
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x0d, 0x0a, 0x18, 0x41,
0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10,
0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73,
0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72,
0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70,
0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x67, 0x0a,
0x1b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x72, 0x65,
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x23, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x48, 0x00, 0x52, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61,
0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xa4, 0x01, 0x0a, 0x32, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61,
0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61,
0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x39, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x65, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53,
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
0x2b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65,
0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d,
0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65,
0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63,
0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
0x1a, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x24,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70,
0x65, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x20, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xa7,
0x01, 0x0a, 0x33, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68,
0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73,
0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63,
0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x2c, 0x64, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x61, 0x63,
0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7a, 0x0a, 0x22, 0x64, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f,
0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61,
0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0xa1, 0x01, 0x0a, 0x31, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63,
0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c,
0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x38, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
0x72, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x2a, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42,
0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f, 0x64, 0x6f, 0x77, 0x6e,
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69,
0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52,
0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69,
0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x9a, 0x01,
0x0a, 0x2e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69,
0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46,
0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00,
0x52, 0x28, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42,
0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x2c, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x63,
0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c,
0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63,
0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x26, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75,
0x72, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01,
0x22, 0x18, 0x0a, 0x16, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x17, 0x4e, 0x6f,
0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61,
0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63,
0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01,
0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e,
0x74, 0x73, 0x22, 0xdf, 0x02, 0x0a, 0x19, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43,
0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x61, 0x0a, 0x19, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x16, 0x65, 0x6d, 0x70,
0x74, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x1a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x63, 0x61,
0x63, 0x68, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63,
0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00,
0x52, 0x17, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x1c, 0x6e, 0x65, 0x65,
0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e,
0x65, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x18, 0x6e, 0x65, 0x65, 0x64, 0x42,
0x61, 0x63, 0x6b, 0x54, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x03, 0xf8, 0x42, 0x01, 0x22, 0x7c, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07,
0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72,
0x49, 0x64, 0x22, 0x7e, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07,
0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72,
0x49, 0x64, 0x22, 0x5a, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f,
0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5c,
0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02,
0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61,
0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0xd1, 0x02, 0x0a,
0x22, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48,
0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
0x01, 0x12, 0x2d, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05, 0x28, 0x80,
0x80, 0x80, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,
0x12, 0x30, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18,
0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01,
0x01, 0x48, 0x02, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88,
0x01, 0x01, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03,
0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04,
0x5f, 0x74, 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f,
0x70, 0x61, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x22, 0x2b, 0x0a, 0x29, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73,
0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53,
0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb6, 0x01,
0x0a, 0x24, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73,
0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64,
0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65,
0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
0x72, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65,
0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10,
0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x2a, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x28, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0,
0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf3, 0x08, 0x0a, 0x22, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63,
0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68,
0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a,
0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49,
0x64, 0x12, 0x86, 0x01, 0x0a, 0x26, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70,
0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x22, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x9c, 0x01, 0x0a, 0x2e, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e,
0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69,
0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x29,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8c, 0x01, 0x0a, 0x28, 0x72, 0x65,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x48, 0x00, 0x52, 0x24, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65,
0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x9f, 0x01, 0x0a, 0x2f, 0x64, 0x6f, 0x77,
0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69,
0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x2a,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73,
0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x99, 0x01, 0x0a, 0x2d, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x28, 0x64, 0x6f,
0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69,
0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69,
0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64,
0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a,
0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x22, 0x0a, 0x20, 0x45, 0x6d,
0x70, 0x74, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a,
0x0a, 0x21, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65,
0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69,
0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08,
0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64,
0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x23, 0x41,
0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x24, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x70, 0x65, 0x72,
0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x61,
0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x48, 0x00, 0x52, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x25, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x63, 0x68,
0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x73, 0x69,
0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x21, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c,
0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x86, 0x01, 0x0a,
0x1e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43,
0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49,
0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70,
0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f,
0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04,
0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64,
0x22, 0xdf, 0x03, 0x0a, 0x27, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69,
0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74,
0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07,
0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72,
0x49, 0x64, 0x12, 0x41, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x16, 0x70,
0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e,
0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x32, 0x05,
0x28, 0x80, 0x80, 0x80, 0x02, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67,
0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65,
0x6e, 0x67, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74,
0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65,
0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x03, 0x74, 0x74,
0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0xaa, 0x01, 0x0b, 0x22, 0x04, 0x08, 0x80, 0xf5, 0x24,
0x32, 0x03, 0x08, 0xac, 0x02, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74,
0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x28, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72,
0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49,
0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73,
0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70,
0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd1, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64,
0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74,
0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61,
0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06,
0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07,
0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x1e, 0x53, 0x74, 0x61,
0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68,
0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42,
0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a,
0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07,
0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22,
0x66, 0x0a, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68,
0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52,
0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x86, 0x09, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x68,
0x65, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1a, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42,
0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x39, 0x0a, 0x0c, 0x70,
0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
0x04, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x32, 0x0c, 0x18, 0x80, 0x80, 0x80, 0x20, 0x28, 0x80, 0x80,
0x80, 0x02, 0x40, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e,
0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64,
0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20,
0x03, 0x28, 0x09, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x51, 0x75, 0x65,
0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64,
0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x68, 0x65, 0x61, 0x74, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64,
0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
0x1f, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x48, 0x03, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01,
0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x08, 0x20, 0x01,
0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x88, 0x01,
0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20,
0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88,
0x01, 0x01, 0x12, 0x4a, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
0x09, 0x42, 0x34, 0xfa, 0x42, 0x31, 0x72, 0x2f, 0x32, 0x2d, 0x5e, 0x28, 0x73, 0x69, 0x6e, 0x67,
0x6c, 0x65, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x7c, 0x61, 0x6c, 0x6c,
0x5f, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x7c, 0x61, 0x6c, 0x6c, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x73, 0x29, 0x24, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x10,
0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73,
0x12, 0x30, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0c,
0x20, 0x01, 0x28, 0x0d, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x18, 0x64, 0x28, 0x01, 0x40,
0x01, 0x48, 0x06, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x88,
0x01, 0x01, 0x12, 0x27, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x0d, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x2a, 0x07, 0x18, 0xc8, 0x01, 0x28, 0x01, 0x40, 0x01, 0x48,
0x07, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x15, 0x63,
0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x22,
0x06, 0x18, 0x64, 0x28, 0x01, 0x40, 0x01, 0x48, 0x08, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x63, 0x75,
0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01,
0x01, 0x12, 0x45, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03,
0x42, 0x0c, 0xfa, 0x42, 0x09, 0x22, 0x07, 0x18, 0xe8, 0x07, 0x28, 0x01, 0x40, 0x01, 0x48, 0x09,
0x52, 0x13, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x65, 0x72,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65,
0x6f, 0x75, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x48, 0x0a, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88,
0x01, 0x01, 0x12, 0x39, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x11,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01,
0x02, 0x10, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a,
0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61,
0x69, 0x6e, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66,
0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e,
0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x69,
0x66, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75,
0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x1a, 0x39, 0x0a, 0x0b,
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x69, 0x65, 0x63,
0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67,
0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a,
0x09, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70,
0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x65, 0x72, 0x63,
0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63,
0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x22, 0xf6, 0x06, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72, 0x03, 0x88, 0x01, 0x01, 0x52, 0x03, 0x75, 0x72,
0x6c, 0x12, 0x39, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x11, 0xfa, 0x42, 0x0e, 0x32, 0x0c, 0x18, 0x80,
0x80, 0x80, 0x20, 0x28, 0x80, 0x80, 0x80, 0x02, 0x40, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x69,
0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03,
0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x74, 0x61, 0x67,
0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69,
0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72,
0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x74, 0x65,
0x72, 0x65, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x42,
0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74,
0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x48,
0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64,
0x65, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07,
0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65,
0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18,
0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72,
0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72,
0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x22, 0x06, 0x18, 0x64, 0x28, 0x01,
0x40, 0x01, 0x48, 0x06, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
0x4c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a,
0x15, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72,
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0c, 0xfa, 0x42,
0x09, 0x22, 0x07, 0x18, 0xe8, 0x07, 0x28, 0x01, 0x40, 0x01, 0x48, 0x07, 0x52, 0x13, 0x63, 0x6f,
0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e,
0x74, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x48, 0x08, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b,
0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68,
0x61, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x69,
0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x69,
0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72,
0x69, 0x66, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x65, 0x63,
0x75, 0x72, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x1a, 0x39, 0x0a,
0x0b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x69, 0x65,
0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61,
0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b,
0x0a, 0x09, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x63, 0x6f, 0x6e,
0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x6f,
0x75, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65,
0x6e, 0x74, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a,
0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x6d, 0x0a, 0x11, 0x53, 0x74, 0x61,
0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29,
0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6d, 0x61,
0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x65, 0x65,
0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67,
0x65, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x09, 0x50, 0x65, 0x65,
0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12,
0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74,
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x6c,
0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72,
0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x34,
0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61,
0x79, 0x65, 0x72, 0x73, 0x22, 0x23, 0x0a, 0x05, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1a, 0x0a,
0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x72,
0x03, 0x88, 0x01, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x32, 0x85, 0x10, 0x0a, 0x09, 0x53, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75,
0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50,
0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e,
0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01,
0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1d,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74,
0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x45,
0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12,
0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f,
0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65,
0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73,
0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73,
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
0x12, 0x68, 0x0a, 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63,
0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e,
0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x0d, 0x53, 0x74,
0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x73, 0x63,
0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43,
0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68,
0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43,
0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61,
0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61,
0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73,
0x6b, 0x12, 0x4f, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65,
0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
0x74, 0x79, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50,
0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65,
0x65, 0x72, 0x12, 0x30, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72,
0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73,
0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x17, 0x53,
0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73,
0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32,
0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65,
0x50, 0x65, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65,
0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65,
0x72, 0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x20, 0x55, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x35, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x7b, 0x0a, 0x21,
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65,
0x64, 0x12, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32,
0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e,
0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x6f, 0x0a, 0x1f, 0x55, 0x70, 0x6c,
0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63,
0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x2e, 0x73,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f,
0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74,
0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e,
0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54,
0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72,
0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b,
0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74,
0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x68,
0x65, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x68, 0x65, 0x61, 0x74, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65,
0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x53, 0x74, 0x61, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x42, 0x2f, 0x5a, 0x2d, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_pkg_apis_scheduler_v2_scheduler_proto_rawDescOnce sync.Once
file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData = file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc
)
func file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP() []byte {
file_pkg_apis_scheduler_v2_scheduler_proto_rawDescOnce.Do(func() {
file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData)
})
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData
}
var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 65)
var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
(*RegisterPeerRequest)(nil), // 0: scheduler.v2.RegisterPeerRequest
(*DownloadPeerStartedRequest)(nil), // 1: scheduler.v2.DownloadPeerStartedRequest
(*DownloadPeerBackToSourceStartedRequest)(nil), // 2: scheduler.v2.DownloadPeerBackToSourceStartedRequest
(*ReschedulePeerRequest)(nil), // 3: scheduler.v2.ReschedulePeerRequest
(*DownloadPeerFinishedRequest)(nil), // 4: scheduler.v2.DownloadPeerFinishedRequest
(*DownloadPeerBackToSourceFinishedRequest)(nil), // 5: scheduler.v2.DownloadPeerBackToSourceFinishedRequest
(*DownloadPeerFailedRequest)(nil), // 6: scheduler.v2.DownloadPeerFailedRequest
(*DownloadPeerBackToSourceFailedRequest)(nil), // 7: scheduler.v2.DownloadPeerBackToSourceFailedRequest
(*DownloadPieceFinishedRequest)(nil), // 8: scheduler.v2.DownloadPieceFinishedRequest
(*DownloadPieceBackToSourceFinishedRequest)(nil), // 9: scheduler.v2.DownloadPieceBackToSourceFinishedRequest
(*DownloadPieceFailedRequest)(nil), // 10: scheduler.v2.DownloadPieceFailedRequest
(*DownloadPieceBackToSourceFailedRequest)(nil), // 11: scheduler.v2.DownloadPieceBackToSourceFailedRequest
(*AnnouncePeerRequest)(nil), // 12: scheduler.v2.AnnouncePeerRequest
(*EmptyTaskResponse)(nil), // 13: scheduler.v2.EmptyTaskResponse
(*NormalTaskResponse)(nil), // 14: scheduler.v2.NormalTaskResponse
(*NeedBackToSourceResponse)(nil), // 15: scheduler.v2.NeedBackToSourceResponse
(*AnnouncePeerResponse)(nil), // 16: scheduler.v2.AnnouncePeerResponse
(*StatPeerRequest)(nil), // 17: scheduler.v2.StatPeerRequest
(*DeletePeerRequest)(nil), // 18: scheduler.v2.DeletePeerRequest
(*StatTaskRequest)(nil), // 19: scheduler.v2.StatTaskRequest
(*DeleteTaskRequest)(nil), // 20: scheduler.v2.DeleteTaskRequest
(*AnnounceHostRequest)(nil), // 21: scheduler.v2.AnnounceHostRequest
(*ListHostsResponse)(nil), // 22: scheduler.v2.ListHostsResponse
(*DeleteHostRequest)(nil), // 23: scheduler.v2.DeleteHostRequest
(*RegisterCachePeerRequest)(nil), // 24: scheduler.v2.RegisterCachePeerRequest
(*DownloadCachePeerStartedRequest)(nil), // 25: scheduler.v2.DownloadCachePeerStartedRequest
(*DownloadCachePeerBackToSourceStartedRequest)(nil), // 26: scheduler.v2.DownloadCachePeerBackToSourceStartedRequest
(*RescheduleCachePeerRequest)(nil), // 27: scheduler.v2.RescheduleCachePeerRequest
(*DownloadCachePeerFinishedRequest)(nil), // 28: scheduler.v2.DownloadCachePeerFinishedRequest
(*DownloadCachePeerBackToSourceFinishedRequest)(nil), // 29: scheduler.v2.DownloadCachePeerBackToSourceFinishedRequest
(*DownloadCachePeerFailedRequest)(nil), // 30: scheduler.v2.DownloadCachePeerFailedRequest
(*DownloadCachePeerBackToSourceFailedRequest)(nil), // 31: scheduler.v2.DownloadCachePeerBackToSourceFailedRequest
(*AnnounceCachePeerRequest)(nil), // 32: scheduler.v2.AnnounceCachePeerRequest
(*EmptyCacheTaskResponse)(nil), // 33: scheduler.v2.EmptyCacheTaskResponse
(*NormalCacheTaskResponse)(nil), // 34: scheduler.v2.NormalCacheTaskResponse
(*AnnounceCachePeerResponse)(nil), // 35: scheduler.v2.AnnounceCachePeerResponse
(*StatCachePeerRequest)(nil), // 36: scheduler.v2.StatCachePeerRequest
(*DeleteCachePeerRequest)(nil), // 37: scheduler.v2.DeleteCachePeerRequest
(*StatCacheTaskRequest)(nil), // 38: scheduler.v2.StatCacheTaskRequest
(*DeleteCacheTaskRequest)(nil), // 39: scheduler.v2.DeleteCacheTaskRequest
(*RegisterPersistentCachePeerRequest)(nil), // 40: scheduler.v2.RegisterPersistentCachePeerRequest
(*DownloadPersistentCachePeerStartedRequest)(nil), // 41: scheduler.v2.DownloadPersistentCachePeerStartedRequest
(*ReschedulePersistentCachePeerRequest)(nil), // 42: scheduler.v2.ReschedulePersistentCachePeerRequest
(*DownloadPersistentCachePeerFinishedRequest)(nil), // 43: scheduler.v2.DownloadPersistentCachePeerFinishedRequest
(*DownloadPersistentCachePeerFailedRequest)(nil), // 44: scheduler.v2.DownloadPersistentCachePeerFailedRequest
(*AnnouncePersistentCachePeerRequest)(nil), // 45: scheduler.v2.AnnouncePersistentCachePeerRequest
(*EmptyPersistentCacheTaskResponse)(nil), // 46: scheduler.v2.EmptyPersistentCacheTaskResponse
(*NormalPersistentCacheTaskResponse)(nil), // 47: scheduler.v2.NormalPersistentCacheTaskResponse
(*AnnouncePersistentCachePeerResponse)(nil), // 48: scheduler.v2.AnnouncePersistentCachePeerResponse
(*StatPersistentCachePeerRequest)(nil), // 49: scheduler.v2.StatPersistentCachePeerRequest
(*DeletePersistentCachePeerRequest)(nil), // 50: scheduler.v2.DeletePersistentCachePeerRequest
(*UploadPersistentCacheTaskStartedRequest)(nil), // 51: scheduler.v2.UploadPersistentCacheTaskStartedRequest
(*UploadPersistentCacheTaskFinishedRequest)(nil), // 52: scheduler.v2.UploadPersistentCacheTaskFinishedRequest
(*UploadPersistentCacheTaskFailedRequest)(nil), // 53: scheduler.v2.UploadPersistentCacheTaskFailedRequest
(*StatPersistentCacheTaskRequest)(nil), // 54: scheduler.v2.StatPersistentCacheTaskRequest
(*DeletePersistentCacheTaskRequest)(nil), // 55: scheduler.v2.DeletePersistentCacheTaskRequest
(*PreheatImageRequest)(nil), // 56: scheduler.v2.PreheatImageRequest
(*StatImageRequest)(nil), // 57: scheduler.v2.StatImageRequest
(*StatImageResponse)(nil), // 58: scheduler.v2.StatImageResponse
(*PeerImage)(nil), // 59: scheduler.v2.PeerImage
(*Image)(nil), // 60: scheduler.v2.Image
(*Layer)(nil), // 61: scheduler.v2.Layer
nil, // 62: scheduler.v2.RegisterCachePeerRequest.RequestHeaderEntry
nil, // 63: scheduler.v2.PreheatImageRequest.HeaderEntry
nil, // 64: scheduler.v2.StatImageRequest.HeaderEntry
(*v2.Download)(nil), // 65: common.v2.Download
(*v2.Peer)(nil), // 66: common.v2.Peer
(*v2.Piece)(nil), // 67: common.v2.Piece
(*v21.Backend)(nil), // 68: errordetails.v2.Backend
(*v21.Unknown)(nil), // 69: errordetails.v2.Unknown
(*v2.Host)(nil), // 70: common.v2.Host
(*durationpb.Duration)(nil), // 71: google.protobuf.Duration
(*v2.Range)(nil), // 72: common.v2.Range
(v2.TaskType)(0), // 73: common.v2.TaskType
(v2.Priority)(0), // 74: common.v2.Priority
(*v2.ObjectStorage)(nil), // 75: common.v2.ObjectStorage
(*v2.HDFS)(nil), // 76: common.v2.HDFS
(*v2.CachePeer)(nil), // 77: common.v2.CachePeer
(*v2.PersistentCachePeer)(nil), // 78: common.v2.PersistentCachePeer
(*emptypb.Empty)(nil), // 79: google.protobuf.Empty
(*v2.Task)(nil), // 80: common.v2.Task
(*v2.CacheTask)(nil), // 81: common.v2.CacheTask
(*v2.PersistentCacheTask)(nil), // 82: common.v2.PersistentCacheTask
}
var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
65, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
66, // 1: scheduler.v2.ReschedulePeerRequest.candidate_parents:type_name -> common.v2.Peer
67, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
67, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
68, // 4: scheduler.v2.DownloadPieceBackToSourceFailedRequest.backend:type_name -> errordetails.v2.Backend
69, // 5: scheduler.v2.DownloadPieceBackToSourceFailedRequest.unknown:type_name -> errordetails.v2.Unknown
0, // 6: scheduler.v2.AnnouncePeerRequest.register_peer_request:type_name -> scheduler.v2.RegisterPeerRequest
1, // 7: scheduler.v2.AnnouncePeerRequest.download_peer_started_request:type_name -> scheduler.v2.DownloadPeerStartedRequest
2, // 8: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_started_request:type_name -> scheduler.v2.DownloadPeerBackToSourceStartedRequest
3, // 9: scheduler.v2.AnnouncePeerRequest.reschedule_peer_request:type_name -> scheduler.v2.ReschedulePeerRequest
4, // 10: scheduler.v2.AnnouncePeerRequest.download_peer_finished_request:type_name -> scheduler.v2.DownloadPeerFinishedRequest
5, // 11: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFinishedRequest
6, // 12: scheduler.v2.AnnouncePeerRequest.download_peer_failed_request:type_name -> scheduler.v2.DownloadPeerFailedRequest
7, // 13: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFailedRequest
8, // 14: scheduler.v2.AnnouncePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest
9, // 15: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFinishedRequest
10, // 16: scheduler.v2.AnnouncePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
11, // 17: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFailedRequest
66, // 18: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
13, // 19: scheduler.v2.AnnouncePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyTaskResponse
14, // 20: scheduler.v2.AnnouncePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalTaskResponse
15, // 21: scheduler.v2.AnnouncePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse
70, // 22: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
71, // 23: scheduler.v2.AnnounceHostRequest.interval:type_name -> google.protobuf.Duration
70, // 24: scheduler.v2.ListHostsResponse.hosts:type_name -> common.v2.Host
72, // 25: scheduler.v2.RegisterCachePeerRequest.range:type_name -> common.v2.Range
73, // 26: scheduler.v2.RegisterCachePeerRequest.type:type_name -> common.v2.TaskType
74, // 27: scheduler.v2.RegisterCachePeerRequest.priority:type_name -> common.v2.Priority
62, // 28: scheduler.v2.RegisterCachePeerRequest.request_header:type_name -> scheduler.v2.RegisterCachePeerRequest.RequestHeaderEntry
71, // 29: scheduler.v2.RegisterCachePeerRequest.timeout:type_name -> google.protobuf.Duration
75, // 30: scheduler.v2.RegisterCachePeerRequest.object_storage:type_name -> common.v2.ObjectStorage
76, // 31: scheduler.v2.RegisterCachePeerRequest.hdfs:type_name -> common.v2.HDFS
77, // 32: scheduler.v2.RescheduleCachePeerRequest.candidate_parents:type_name -> common.v2.CachePeer
24, // 33: scheduler.v2.AnnounceCachePeerRequest.register_cache_peer_request:type_name -> scheduler.v2.RegisterCachePeerRequest
25, // 34: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_started_request:type_name -> scheduler.v2.DownloadCachePeerStartedRequest
26, // 35: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_back_to_source_started_request:type_name -> scheduler.v2.DownloadCachePeerBackToSourceStartedRequest
27, // 36: scheduler.v2.AnnounceCachePeerRequest.reschedule_cache_peer_request:type_name -> scheduler.v2.RescheduleCachePeerRequest
28, // 37: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_finished_request:type_name -> scheduler.v2.DownloadCachePeerFinishedRequest
29, // 38: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_back_to_source_finished_request:type_name -> scheduler.v2.DownloadCachePeerBackToSourceFinishedRequest
30, // 39: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_failed_request:type_name -> scheduler.v2.DownloadCachePeerFailedRequest
31, // 40: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_back_to_source_failed_request:type_name -> scheduler.v2.DownloadCachePeerBackToSourceFailedRequest
8, // 41: scheduler.v2.AnnounceCachePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest
9, // 42: scheduler.v2.AnnounceCachePeerRequest.download_piece_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFinishedRequest
10, // 43: scheduler.v2.AnnounceCachePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
11, // 44: scheduler.v2.AnnounceCachePeerRequest.download_piece_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFailedRequest
77, // 45: scheduler.v2.NormalCacheTaskResponse.candidate_parents:type_name -> common.v2.CachePeer
33, // 46: scheduler.v2.AnnounceCachePeerResponse.empty_cache_task_response:type_name -> scheduler.v2.EmptyCacheTaskResponse
34, // 47: scheduler.v2.AnnounceCachePeerResponse.normal_cache_task_response:type_name -> scheduler.v2.NormalCacheTaskResponse
15, // 48: scheduler.v2.AnnounceCachePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse
71, // 49: scheduler.v2.RegisterPersistentCachePeerRequest.timeout:type_name -> google.protobuf.Duration
78, // 50: scheduler.v2.ReschedulePersistentCachePeerRequest.candidate_parents:type_name -> common.v2.PersistentCachePeer
40, // 51: scheduler.v2.AnnouncePersistentCachePeerRequest.register_persistent_cache_peer_request:type_name -> scheduler.v2.RegisterPersistentCachePeerRequest
41, // 52: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_started_request:type_name -> scheduler.v2.DownloadPersistentCachePeerStartedRequest
42, // 53: scheduler.v2.AnnouncePersistentCachePeerRequest.reschedule_persistent_cache_peer_request:type_name -> scheduler.v2.ReschedulePersistentCachePeerRequest
43, // 54: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_finished_request:type_name -> scheduler.v2.DownloadPersistentCachePeerFinishedRequest
44, // 55: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_failed_request:type_name -> scheduler.v2.DownloadPersistentCachePeerFailedRequest
8, // 56: scheduler.v2.AnnouncePersistentCachePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest
10, // 57: scheduler.v2.AnnouncePersistentCachePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
78, // 58: scheduler.v2.NormalPersistentCacheTaskResponse.candidate_parents:type_name -> common.v2.PersistentCachePeer
46, // 59: scheduler.v2.AnnouncePersistentCachePeerResponse.empty_persistent_cache_task_response:type_name -> scheduler.v2.EmptyPersistentCacheTaskResponse
47, // 60: scheduler.v2.AnnouncePersistentCachePeerResponse.normal_persistent_cache_task_response:type_name -> scheduler.v2.NormalPersistentCacheTaskResponse
71, // 61: scheduler.v2.UploadPersistentCacheTaskStartedRequest.ttl:type_name -> google.protobuf.Duration
63, // 62: scheduler.v2.PreheatImageRequest.header:type_name -> scheduler.v2.PreheatImageRequest.HeaderEntry
71, // 63: scheduler.v2.PreheatImageRequest.timeout:type_name -> google.protobuf.Duration
74, // 64: scheduler.v2.PreheatImageRequest.priority:type_name -> common.v2.Priority
64, // 65: scheduler.v2.StatImageRequest.header:type_name -> scheduler.v2.StatImageRequest.HeaderEntry
71, // 66: scheduler.v2.StatImageRequest.timeout:type_name -> google.protobuf.Duration
60, // 67: scheduler.v2.StatImageResponse.image:type_name -> scheduler.v2.Image
59, // 68: scheduler.v2.StatImageResponse.peers:type_name -> scheduler.v2.PeerImage
61, // 69: scheduler.v2.PeerImage.cached_layers:type_name -> scheduler.v2.Layer
61, // 70: scheduler.v2.Image.layers:type_name -> scheduler.v2.Layer
12, // 71: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest
17, // 72: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest
18, // 73: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest
19, // 74: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest
20, // 75: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest
21, // 76: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
79, // 77: scheduler.v2.Scheduler.ListHosts:input_type -> google.protobuf.Empty
23, // 78: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest
32, // 79: scheduler.v2.Scheduler.AnnounceCachePeer:input_type -> scheduler.v2.AnnounceCachePeerRequest
36, // 80: scheduler.v2.Scheduler.StatCachePeer:input_type -> scheduler.v2.StatCachePeerRequest
37, // 81: scheduler.v2.Scheduler.DeleteCachePeer:input_type -> scheduler.v2.DeleteCachePeerRequest
38, // 82: scheduler.v2.Scheduler.StatCacheTask:input_type -> scheduler.v2.StatCacheTaskRequest
39, // 83: scheduler.v2.Scheduler.DeleteCacheTask:input_type -> scheduler.v2.DeleteCacheTaskRequest
45, // 84: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:input_type -> scheduler.v2.AnnouncePersistentCachePeerRequest
49, // 85: scheduler.v2.Scheduler.StatPersistentCachePeer:input_type -> scheduler.v2.StatPersistentCachePeerRequest
50, // 86: scheduler.v2.Scheduler.DeletePersistentCachePeer:input_type -> scheduler.v2.DeletePersistentCachePeerRequest
51, // 87: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:input_type -> scheduler.v2.UploadPersistentCacheTaskStartedRequest
52, // 88: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:input_type -> scheduler.v2.UploadPersistentCacheTaskFinishedRequest
53, // 89: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:input_type -> scheduler.v2.UploadPersistentCacheTaskFailedRequest
54, // 90: scheduler.v2.Scheduler.StatPersistentCacheTask:input_type -> scheduler.v2.StatPersistentCacheTaskRequest
55, // 91: scheduler.v2.Scheduler.DeletePersistentCacheTask:input_type -> scheduler.v2.DeletePersistentCacheTaskRequest
56, // 92: scheduler.v2.Scheduler.PreheatImage:input_type -> scheduler.v2.PreheatImageRequest
57, // 93: scheduler.v2.Scheduler.StatImage:input_type -> scheduler.v2.StatImageRequest
16, // 94: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
66, // 95: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
79, // 96: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty
80, // 97: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
79, // 98: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty
79, // 99: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
22, // 100: scheduler.v2.Scheduler.ListHosts:output_type -> scheduler.v2.ListHostsResponse
79, // 101: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty
35, // 102: scheduler.v2.Scheduler.AnnounceCachePeer:output_type -> scheduler.v2.AnnounceCachePeerResponse
77, // 103: scheduler.v2.Scheduler.StatCachePeer:output_type -> common.v2.CachePeer
79, // 104: scheduler.v2.Scheduler.DeleteCachePeer:output_type -> google.protobuf.Empty
81, // 105: scheduler.v2.Scheduler.StatCacheTask:output_type -> common.v2.CacheTask
79, // 106: scheduler.v2.Scheduler.DeleteCacheTask:output_type -> google.protobuf.Empty
48, // 107: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:output_type -> scheduler.v2.AnnouncePersistentCachePeerResponse
78, // 108: scheduler.v2.Scheduler.StatPersistentCachePeer:output_type -> common.v2.PersistentCachePeer
79, // 109: scheduler.v2.Scheduler.DeletePersistentCachePeer:output_type -> google.protobuf.Empty
79, // 110: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:output_type -> google.protobuf.Empty
82, // 111: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:output_type -> common.v2.PersistentCacheTask
79, // 112: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:output_type -> google.protobuf.Empty
82, // 113: scheduler.v2.Scheduler.StatPersistentCacheTask:output_type -> common.v2.PersistentCacheTask
79, // 114: scheduler.v2.Scheduler.DeletePersistentCacheTask:output_type -> google.protobuf.Empty
79, // 115: scheduler.v2.Scheduler.PreheatImage:output_type -> google.protobuf.Empty
58, // 116: scheduler.v2.Scheduler.StatImage:output_type -> scheduler.v2.StatImageResponse
94, // [94:117] is the sub-list for method output_type
71, // [71:94] is the sub-list for method input_type
71, // [71:71] is the sub-list for extension type_name
71, // [71:71] is the sub-list for extension extendee
0, // [0:71] is the sub-list for field type_name
}
func init() { file_pkg_apis_scheduler_v2_scheduler_proto_init() }
func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
if File_pkg_apis_scheduler_v2_scheduler_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisterPeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPeerStartedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPeerBackToSourceStartedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReschedulePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPeerFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPeerBackToSourceFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPeerFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPeerBackToSourceFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPieceFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPieceBackToSourceFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPieceFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPieceBackToSourceFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnouncePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmptyTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NormalTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NeedBackToSourceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnouncePeerResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatPeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeletePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnounceHostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListHostsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteHostRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisterCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadCachePeerStartedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadCachePeerBackToSourceStartedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RescheduleCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadCachePeerFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadCachePeerBackToSourceFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadCachePeerFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadCachePeerBackToSourceFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnounceCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmptyCacheTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NormalCacheTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnounceCachePeerResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatCacheTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeleteCacheTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RegisterPersistentCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPersistentCachePeerStartedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReschedulePersistentCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPersistentCachePeerFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DownloadPersistentCachePeerFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnouncePersistentCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*EmptyPersistentCacheTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*NormalPersistentCacheTaskResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnouncePersistentCachePeerResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatPersistentCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeletePersistentCachePeerRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UploadPersistentCacheTaskStartedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UploadPersistentCacheTaskFinishedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UploadPersistentCacheTaskFailedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatPersistentCacheTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DeletePersistentCacheTaskRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PreheatImageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatImageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*StatImageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PeerImage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Image); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Layer); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[2].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[3].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[6].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[7].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[10].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[11].OneofWrappers = []interface{}{
(*DownloadPieceBackToSourceFailedRequest_Backend)(nil),
(*DownloadPieceBackToSourceFailedRequest_Unknown)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12].OneofWrappers = []interface{}{
(*AnnouncePeerRequest_RegisterPeerRequest)(nil),
(*AnnouncePeerRequest_DownloadPeerStartedRequest)(nil),
(*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest)(nil),
(*AnnouncePeerRequest_ReschedulePeerRequest)(nil),
(*AnnouncePeerRequest_DownloadPeerFinishedRequest)(nil),
(*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest)(nil),
(*AnnouncePeerRequest_DownloadPeerFailedRequest)(nil),
(*AnnouncePeerRequest_DownloadPeerBackToSourceFailedRequest)(nil),
(*AnnouncePeerRequest_DownloadPieceFinishedRequest)(nil),
(*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest)(nil),
(*AnnouncePeerRequest_DownloadPieceFailedRequest)(nil),
(*AnnouncePeerRequest_DownloadPieceBackToSourceFailedRequest)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[15].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[16].OneofWrappers = []interface{}{
(*AnnouncePeerResponse_EmptyTaskResponse)(nil),
(*AnnouncePeerResponse_NormalTaskResponse)(nil),
(*AnnouncePeerResponse_NeedBackToSourceResponse)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].OneofWrappers = []interface{}{
(*AnnounceCachePeerRequest_RegisterCachePeerRequest)(nil),
(*AnnounceCachePeerRequest_DownloadCachePeerStartedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceStartedRequest)(nil),
(*AnnounceCachePeerRequest_RescheduleCachePeerRequest)(nil),
(*AnnounceCachePeerRequest_DownloadCachePeerFinishedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFinishedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadCachePeerFailedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadCachePeerBackToSourceFailedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadPieceFinishedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadPieceBackToSourceFinishedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadPieceFailedRequest)(nil),
(*AnnounceCachePeerRequest_DownloadPieceBackToSourceFailedRequest)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].OneofWrappers = []interface{}{
(*AnnounceCachePeerResponse_EmptyCacheTaskResponse)(nil),
(*AnnounceCachePeerResponse_NormalCacheTaskResponse)(nil),
(*AnnounceCachePeerResponse_NeedBackToSourceResponse)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[40].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[42].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[44].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[45].OneofWrappers = []interface{}{
(*AnnouncePersistentCachePeerRequest_RegisterPersistentCachePeerRequest)(nil),
(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerStartedRequest)(nil),
(*AnnouncePersistentCachePeerRequest_ReschedulePersistentCachePeerRequest)(nil),
(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFinishedRequest)(nil),
(*AnnouncePersistentCachePeerRequest_DownloadPersistentCachePeerFailedRequest)(nil),
(*AnnouncePersistentCachePeerRequest_DownloadPieceFinishedRequest)(nil),
(*AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[48].OneofWrappers = []interface{}{
(*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse)(nil),
(*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[51].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[53].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[56].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[57].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc,
NumEnums: 0,
NumMessages: 65,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_pkg_apis_scheduler_v2_scheduler_proto_goTypes,
DependencyIndexes: file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs,
MessageInfos: file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes,
}.Build()
File_pkg_apis_scheduler_v2_scheduler_proto = out.File
file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = nil
file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = nil
file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = nil
}