// // 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 "" } // RegisterPersistentCachePeerRequest represents persistent cache peer registered request of AnnouncePersistentCachePeerRequest. type RegisterPersistentCachePeerRequest 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"` // Tag is used to distinguish different persistent cache tasks. Tag *string `protobuf:"bytes,3,opt,name=tag,proto3,oneof" json:"tag,omitempty"` // Application of task. Application *string `protobuf:"bytes,4,opt,name=application,proto3,oneof" json:"application,omitempty"` // Task piece length. PieceLength uint64 `protobuf:"varint,5,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"` // File path to be exported. OutputPath string `protobuf:"bytes,6,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"` // Download timeout. Timeout *durationpb.Duration `protobuf:"bytes,7,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[24] 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[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 RegisterPersistentCachePeerRequest.ProtoReflect.Descriptor instead. func (*RegisterPersistentCachePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{24} } func (x *RegisterPersistentCachePeerRequest) GetHostId() string { if x != nil { return x.HostId } return "" } func (x *RegisterPersistentCachePeerRequest) GetTaskId() string { if x != nil { return x.TaskId } return "" } 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 { 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[25] 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[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 DownloadPersistentCachePeerStartedRequest.ProtoReflect.Descriptor instead. func (*DownloadPersistentCachePeerStartedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{25} } // 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[26] 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[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 ReschedulePersistentCachePeerRequest.ProtoReflect.Descriptor instead. func (*ReschedulePersistentCachePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{26} } 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[27] 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[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 DownloadPersistentCachePeerFinishedRequest.ProtoReflect.Descriptor instead. func (*DownloadPersistentCachePeerFinishedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{27} } 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[28] 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[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 DownloadPersistentCachePeerFailedRequest.ProtoReflect.Descriptor instead. func (*DownloadPersistentCachePeerFailedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{28} } 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[29] 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[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 AnnouncePersistentCachePeerRequest.ProtoReflect.Descriptor instead. func (*AnnouncePersistentCachePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{29} } 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[30] 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[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 EmptyPersistentCacheTaskResponse.ProtoReflect.Descriptor instead. func (*EmptyPersistentCacheTaskResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{30} } // 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[31] 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[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 NormalPersistentCacheTaskResponse.ProtoReflect.Descriptor instead. func (*NormalPersistentCacheTaskResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31} } 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[32] 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[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 AnnouncePersistentCachePeerResponse.ProtoReflect.Descriptor instead. func (*AnnouncePersistentCachePeerResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{32} } 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[33] 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[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 StatPersistentCachePeerRequest.ProtoReflect.Descriptor instead. func (*StatPersistentCachePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{33} } 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[34] 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[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 DeletePersistentCachePeerRequest.ProtoReflect.Descriptor instead. func (*DeletePersistentCachePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{34} } 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"` // Digest of the task digest, for example blake3:xxx or sha256:yyy. Digest string `protobuf:"bytes,5,opt,name=digest,proto3" json:"digest,omitempty"` // Tag is used to distinguish different persistent cache tasks. Tag *string `protobuf:"bytes,6,opt,name=tag,proto3,oneof" json:"tag,omitempty"` // Application of task. Application *string `protobuf:"bytes,7,opt,name=application,proto3,oneof" json:"application,omitempty"` // Task piece length. PieceLength uint64 `protobuf:"varint,8,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"` // Task content length. ContentLength uint64 `protobuf:"varint,9,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` // Task piece count. PieceCount uint32 `protobuf:"varint,10,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"` // TTL of the persistent cache task. Ttl *durationpb.Duration `protobuf:"bytes,11,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[35] 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[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 UploadPersistentCacheTaskStartedRequest.ProtoReflect.Descriptor instead. func (*UploadPersistentCacheTaskStartedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{35} } 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) GetDigest() string { if x != nil { return x.Digest } return "" } 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[36] 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[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 UploadPersistentCacheTaskFinishedRequest.ProtoReflect.Descriptor instead. func (*UploadPersistentCacheTaskFinishedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{36} } 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[37] 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[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 UploadPersistentCacheTaskFailedRequest.ProtoReflect.Descriptor instead. func (*UploadPersistentCacheTaskFailedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{37} } 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[38] 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[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 StatPersistentCacheTaskRequest.ProtoReflect.Descriptor instead. func (*StatPersistentCacheTaskRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{38} } 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[39] 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[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 DeletePersistentCacheTaskRequest.ProtoReflect.Descriptor instead. func (*DeletePersistentCacheTaskRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{39} } func (x *DeletePersistentCacheTaskRequest) GetHostId() string { if x != nil { return x.HostId } return "" } func (x *DeletePersistentCacheTaskRequest) GetTaskId() string { if x != nil { return x.TaskId } 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, 0xda, 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, 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, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 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, 0x02, 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, 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, 0x86, 0x05, 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, 0xa8, 0x01, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x8f, 0x01, 0xfa, 0x42, 0x8b, 0x01, 0x72, 0x88, 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, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 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, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 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, 0x09, 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, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x0b, 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, 0x10, 0xfa, 0x42, 0x0d, 0xaa, 0x01, 0x0a, 0x22, 0x04, 0x08, 0x80, 0xf5, 0x24, 0x32, 0x02, 0x08, 0x3c, 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, 0x32, 0xca, 0x0b, 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, 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, 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, 40) 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 (*RegisterPersistentCachePeerRequest)(nil), // 24: scheduler.v2.RegisterPersistentCachePeerRequest (*DownloadPersistentCachePeerStartedRequest)(nil), // 25: scheduler.v2.DownloadPersistentCachePeerStartedRequest (*ReschedulePersistentCachePeerRequest)(nil), // 26: scheduler.v2.ReschedulePersistentCachePeerRequest (*DownloadPersistentCachePeerFinishedRequest)(nil), // 27: scheduler.v2.DownloadPersistentCachePeerFinishedRequest (*DownloadPersistentCachePeerFailedRequest)(nil), // 28: scheduler.v2.DownloadPersistentCachePeerFailedRequest (*AnnouncePersistentCachePeerRequest)(nil), // 29: scheduler.v2.AnnouncePersistentCachePeerRequest (*EmptyPersistentCacheTaskResponse)(nil), // 30: scheduler.v2.EmptyPersistentCacheTaskResponse (*NormalPersistentCacheTaskResponse)(nil), // 31: scheduler.v2.NormalPersistentCacheTaskResponse (*AnnouncePersistentCachePeerResponse)(nil), // 32: scheduler.v2.AnnouncePersistentCachePeerResponse (*StatPersistentCachePeerRequest)(nil), // 33: scheduler.v2.StatPersistentCachePeerRequest (*DeletePersistentCachePeerRequest)(nil), // 34: scheduler.v2.DeletePersistentCachePeerRequest (*UploadPersistentCacheTaskStartedRequest)(nil), // 35: scheduler.v2.UploadPersistentCacheTaskStartedRequest (*UploadPersistentCacheTaskFinishedRequest)(nil), // 36: scheduler.v2.UploadPersistentCacheTaskFinishedRequest (*UploadPersistentCacheTaskFailedRequest)(nil), // 37: scheduler.v2.UploadPersistentCacheTaskFailedRequest (*StatPersistentCacheTaskRequest)(nil), // 38: scheduler.v2.StatPersistentCacheTaskRequest (*DeletePersistentCacheTaskRequest)(nil), // 39: scheduler.v2.DeletePersistentCacheTaskRequest (*v2.Download)(nil), // 40: common.v2.Download (*v2.Peer)(nil), // 41: common.v2.Peer (*v2.Piece)(nil), // 42: common.v2.Piece (*v21.Backend)(nil), // 43: errordetails.v2.Backend (*v21.Unknown)(nil), // 44: errordetails.v2.Unknown (*v2.Host)(nil), // 45: common.v2.Host (*durationpb.Duration)(nil), // 46: google.protobuf.Duration (*v2.PersistentCachePeer)(nil), // 47: common.v2.PersistentCachePeer (*emptypb.Empty)(nil), // 48: google.protobuf.Empty (*v2.Task)(nil), // 49: common.v2.Task (*v2.PersistentCacheTask)(nil), // 50: common.v2.PersistentCacheTask } var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{ 40, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download 41, // 1: scheduler.v2.ReschedulePeerRequest.candidate_parents:type_name -> common.v2.Peer 42, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece 42, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece 43, // 4: scheduler.v2.DownloadPieceBackToSourceFailedRequest.backend:type_name -> errordetails.v2.Backend 44, // 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 41, // 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 45, // 22: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host 46, // 23: scheduler.v2.AnnounceHostRequest.interval:type_name -> google.protobuf.Duration 45, // 24: scheduler.v2.ListHostsResponse.hosts:type_name -> common.v2.Host 46, // 25: scheduler.v2.RegisterPersistentCachePeerRequest.timeout:type_name -> google.protobuf.Duration 47, // 26: scheduler.v2.ReschedulePersistentCachePeerRequest.candidate_parents:type_name -> common.v2.PersistentCachePeer 24, // 27: scheduler.v2.AnnouncePersistentCachePeerRequest.register_persistent_cache_peer_request:type_name -> scheduler.v2.RegisterPersistentCachePeerRequest 25, // 28: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_started_request:type_name -> scheduler.v2.DownloadPersistentCachePeerStartedRequest 26, // 29: scheduler.v2.AnnouncePersistentCachePeerRequest.reschedule_persistent_cache_peer_request:type_name -> scheduler.v2.ReschedulePersistentCachePeerRequest 27, // 30: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_finished_request:type_name -> scheduler.v2.DownloadPersistentCachePeerFinishedRequest 28, // 31: scheduler.v2.AnnouncePersistentCachePeerRequest.download_persistent_cache_peer_failed_request:type_name -> scheduler.v2.DownloadPersistentCachePeerFailedRequest 8, // 32: scheduler.v2.AnnouncePersistentCachePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest 10, // 33: scheduler.v2.AnnouncePersistentCachePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest 47, // 34: scheduler.v2.NormalPersistentCacheTaskResponse.candidate_parents:type_name -> common.v2.PersistentCachePeer 30, // 35: scheduler.v2.AnnouncePersistentCachePeerResponse.empty_persistent_cache_task_response:type_name -> scheduler.v2.EmptyPersistentCacheTaskResponse 31, // 36: scheduler.v2.AnnouncePersistentCachePeerResponse.normal_persistent_cache_task_response:type_name -> scheduler.v2.NormalPersistentCacheTaskResponse 46, // 37: scheduler.v2.UploadPersistentCacheTaskStartedRequest.ttl:type_name -> google.protobuf.Duration 12, // 38: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest 17, // 39: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest 18, // 40: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest 19, // 41: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest 20, // 42: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest 21, // 43: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest 48, // 44: scheduler.v2.Scheduler.ListHosts:input_type -> google.protobuf.Empty 23, // 45: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest 29, // 46: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:input_type -> scheduler.v2.AnnouncePersistentCachePeerRequest 33, // 47: scheduler.v2.Scheduler.StatPersistentCachePeer:input_type -> scheduler.v2.StatPersistentCachePeerRequest 34, // 48: scheduler.v2.Scheduler.DeletePersistentCachePeer:input_type -> scheduler.v2.DeletePersistentCachePeerRequest 35, // 49: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:input_type -> scheduler.v2.UploadPersistentCacheTaskStartedRequest 36, // 50: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:input_type -> scheduler.v2.UploadPersistentCacheTaskFinishedRequest 37, // 51: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:input_type -> scheduler.v2.UploadPersistentCacheTaskFailedRequest 38, // 52: scheduler.v2.Scheduler.StatPersistentCacheTask:input_type -> scheduler.v2.StatPersistentCacheTaskRequest 39, // 53: scheduler.v2.Scheduler.DeletePersistentCacheTask:input_type -> scheduler.v2.DeletePersistentCacheTaskRequest 16, // 54: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse 41, // 55: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer 48, // 56: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty 49, // 57: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task 48, // 58: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty 48, // 59: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty 22, // 60: scheduler.v2.Scheduler.ListHosts:output_type -> scheduler.v2.ListHostsResponse 48, // 61: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty 32, // 62: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:output_type -> scheduler.v2.AnnouncePersistentCachePeerResponse 47, // 63: scheduler.v2.Scheduler.StatPersistentCachePeer:output_type -> common.v2.PersistentCachePeer 48, // 64: scheduler.v2.Scheduler.DeletePersistentCachePeer:output_type -> google.protobuf.Empty 48, // 65: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:output_type -> google.protobuf.Empty 50, // 66: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:output_type -> common.v2.PersistentCacheTask 48, // 67: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:output_type -> google.protobuf.Empty 50, // 68: scheduler.v2.Scheduler.StatPersistentCacheTask:output_type -> common.v2.PersistentCacheTask 48, // 69: scheduler.v2.Scheduler.DeletePersistentCacheTask:output_type -> google.protobuf.Empty 54, // [54:70] is the sub-list for method output_type 38, // [38:54] is the sub-list for method input_type 38, // [38:38] is the sub-list for extension type_name 38, // [38:38] is the sub-list for extension extendee 0, // [0:38] 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.(*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[25].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[26].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[27].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[28].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[29].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[30].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[31].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[32].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[33].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[34].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[35].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[36].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[37].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[38].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[39].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[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[28].OneofWrappers = []interface{}{} file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].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[32].OneofWrappers = []interface{}{ (*AnnouncePersistentCachePeerResponse_EmptyPersistentCacheTaskResponse)(nil), (*AnnouncePersistentCachePeerResponse_NormalPersistentCacheTaskResponse)(nil), } file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[35].OneofWrappers = []interface{}{} file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[37].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: 40, 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 }