// // 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/pkg/apis/common/v2" v21 "d7y.io/api/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" timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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 // Download back-to-source reason. Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,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) GetReason() string { if x != nil { return x.Reason } 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 int64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` // Total piece count. PieceCount int64 `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[3] 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[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 DownloadPeerFinishedRequest.ProtoReflect.Descriptor instead. func (*DownloadPeerFinishedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{3} } func (x *DownloadPeerFinishedRequest) GetContentLength() int64 { if x != nil { return x.ContentLength } return 0 } func (x *DownloadPeerFinishedRequest) GetPieceCount() int64 { 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 int64 `protobuf:"varint,1,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` // Total piece count. PieceCount int64 `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[4] 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[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 DownloadPeerBackToSourceFinishedRequest.ProtoReflect.Descriptor instead. func (*DownloadPeerBackToSourceFinishedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{4} } func (x *DownloadPeerBackToSourceFinishedRequest) GetContentLength() int64 { if x != nil { return x.ContentLength } return 0 } func (x *DownloadPeerBackToSourceFinishedRequest) GetPieceCount() int64 { if x != nil { return x.PieceCount } return 0 } // 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[5] 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[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 DownloadPieceFinishedRequest.ProtoReflect.Descriptor instead. func (*DownloadPieceFinishedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{5} } 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[6] 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[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 DownloadPieceBackToSourceFinishedRequest.ProtoReflect.Descriptor instead. func (*DownloadPieceBackToSourceFinishedRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{6} } func (x *DownloadPieceBackToSourceFinishedRequest) GetPiece() *v2.Piece { if x != nil { return x.Piece } return nil } // AnnouncePeerRequest represents request of AnnouncePeer. type AnnouncePeerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Task id. TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` // Peer id. PeerId string `protobuf:"bytes,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` // Types that are assignable to Request: // // *AnnouncePeerRequest_RegisterPeerRequest // *AnnouncePeerRequest_DownloadPeerStartedRequest // *AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest // *AnnouncePeerRequest_DownloadPeerFinishedRequest // *AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest // *AnnouncePeerRequest_DownloadPieceFinishedRequest // *AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest Request isAnnouncePeerRequest_Request `protobuf_oneof:"request"` // Types that are assignable to Errordetails: // // *AnnouncePeerRequest_DownloadPeerBackToSourceFailed // *AnnouncePeerRequest_DownloadPieceBackToSourceFailed // *AnnouncePeerRequest_SyncPiecesFailed // *AnnouncePeerRequest_DownloadPieceFailed Errordetails isAnnouncePeerRequest_Errordetails `protobuf_oneof:"errordetails"` } func (x *AnnouncePeerRequest) Reset() { *x = AnnouncePeerRequest{} 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 *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[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 AnnouncePeerRequest.ProtoReflect.Descriptor instead. func (*AnnouncePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{7} } 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) 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) 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 (m *AnnouncePeerRequest) GetErrordetails() isAnnouncePeerRequest_Errordetails { if m != nil { return m.Errordetails } return nil } func (x *AnnouncePeerRequest) GetDownloadPeerBackToSourceFailed() *v21.DownloadPeerBackToSourceFailed { if x, ok := x.GetErrordetails().(*AnnouncePeerRequest_DownloadPeerBackToSourceFailed); ok { return x.DownloadPeerBackToSourceFailed } return nil } func (x *AnnouncePeerRequest) GetDownloadPieceBackToSourceFailed() *v21.DownloadPieceBackToSourceFailed { if x, ok := x.GetErrordetails().(*AnnouncePeerRequest_DownloadPieceBackToSourceFailed); ok { return x.DownloadPieceBackToSourceFailed } return nil } func (x *AnnouncePeerRequest) GetSyncPiecesFailed() *v21.SyncPiecesFailed { if x, ok := x.GetErrordetails().(*AnnouncePeerRequest_SyncPiecesFailed); ok { return x.SyncPiecesFailed } return nil } func (x *AnnouncePeerRequest) GetDownloadPieceFailed() *v21.DownloadPieceFailed { if x, ok := x.GetErrordetails().(*AnnouncePeerRequest_DownloadPieceFailed); ok { return x.DownloadPieceFailed } return nil } type isAnnouncePeerRequest_Request interface { isAnnouncePeerRequest_Request() } type AnnouncePeerRequest_RegisterPeerRequest struct { RegisterPeerRequest *RegisterPeerRequest `protobuf:"bytes,3,opt,name=register_peer_request,json=registerPeerRequest,proto3,oneof"` } type AnnouncePeerRequest_DownloadPeerStartedRequest struct { DownloadPeerStartedRequest *DownloadPeerStartedRequest `protobuf:"bytes,4,opt,name=download_peer_started_request,json=downloadPeerStartedRequest,proto3,oneof"` } type AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest struct { DownloadPeerBackToSourceStartedRequest *DownloadPeerBackToSourceStartedRequest `protobuf:"bytes,5,opt,name=download_peer_back_to_source_started_request,json=downloadPeerBackToSourceStartedRequest,proto3,oneof"` } type AnnouncePeerRequest_DownloadPeerFinishedRequest struct { DownloadPeerFinishedRequest *DownloadPeerFinishedRequest `protobuf:"bytes,6,opt,name=download_peer_finished_request,json=downloadPeerFinishedRequest,proto3,oneof"` } type AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest struct { DownloadPeerBackToSourceFinishedRequest *DownloadPeerBackToSourceFinishedRequest `protobuf:"bytes,7,opt,name=download_peer_back_to_source_finished_request,json=downloadPeerBackToSourceFinishedRequest,proto3,oneof"` } type AnnouncePeerRequest_DownloadPieceFinishedRequest struct { DownloadPieceFinishedRequest *DownloadPieceFinishedRequest `protobuf:"bytes,8,opt,name=download_piece_finished_request,json=downloadPieceFinishedRequest,proto3,oneof"` } type AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest struct { DownloadPieceBackToSourceFinishedRequest *DownloadPieceBackToSourceFinishedRequest `protobuf:"bytes,9,opt,name=download_piece_back_to_source_finished_request,json=downloadPieceBackToSourceFinishedRequest,proto3,oneof"` } func (*AnnouncePeerRequest_RegisterPeerRequest) isAnnouncePeerRequest_Request() {} func (*AnnouncePeerRequest_DownloadPeerStartedRequest) isAnnouncePeerRequest_Request() {} func (*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest) isAnnouncePeerRequest_Request() {} func (*AnnouncePeerRequest_DownloadPeerFinishedRequest) isAnnouncePeerRequest_Request() {} func (*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() {} func (*AnnouncePeerRequest_DownloadPieceFinishedRequest) isAnnouncePeerRequest_Request() {} func (*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest) isAnnouncePeerRequest_Request() { } type isAnnouncePeerRequest_Errordetails interface { isAnnouncePeerRequest_Errordetails() } type AnnouncePeerRequest_DownloadPeerBackToSourceFailed struct { DownloadPeerBackToSourceFailed *v21.DownloadPeerBackToSourceFailed `protobuf:"bytes,10,opt,name=download_peer_back_to_source_failed,json=downloadPeerBackToSourceFailed,proto3,oneof"` } type AnnouncePeerRequest_DownloadPieceBackToSourceFailed struct { DownloadPieceBackToSourceFailed *v21.DownloadPieceBackToSourceFailed `protobuf:"bytes,11,opt,name=download_piece_back_to_source_failed,json=downloadPieceBackToSourceFailed,proto3,oneof"` } type AnnouncePeerRequest_SyncPiecesFailed struct { SyncPiecesFailed *v21.SyncPiecesFailed `protobuf:"bytes,12,opt,name=sync_pieces_failed,json=syncPiecesFailed,proto3,oneof"` } type AnnouncePeerRequest_DownloadPieceFailed struct { DownloadPieceFailed *v21.DownloadPieceFailed `protobuf:"bytes,13,opt,name=download_piece_failed,json=downloadPieceFailed,proto3,oneof"` } func (*AnnouncePeerRequest_DownloadPeerBackToSourceFailed) isAnnouncePeerRequest_Errordetails() {} func (*AnnouncePeerRequest_DownloadPieceBackToSourceFailed) isAnnouncePeerRequest_Errordetails() {} func (*AnnouncePeerRequest_SyncPiecesFailed) isAnnouncePeerRequest_Errordetails() {} func (*AnnouncePeerRequest_DownloadPieceFailed) isAnnouncePeerRequest_Errordetails() {} // TinyTaskResponse represents tiny task response of AnnouncePeerResponse. type TinyTaskResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` } func (x *TinyTaskResponse) Reset() { *x = TinyTaskResponse{} 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 *TinyTaskResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TinyTaskResponse) ProtoMessage() {} func (x *TinyTaskResponse) 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 TinyTaskResponse.ProtoReflect.Descriptor instead. func (*TinyTaskResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{8} } func (x *TinyTaskResponse) GetData() []byte { if x != nil { return x.Data } return nil } // SmallTaskResponse represents small task response of AnnouncePeerResponse. type SmallTaskResponse 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 *SmallTaskResponse) Reset() { *x = SmallTaskResponse{} 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 *SmallTaskResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SmallTaskResponse) ProtoMessage() {} func (x *SmallTaskResponse) 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 SmallTaskResponse.ProtoReflect.Descriptor instead. func (*SmallTaskResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{9} } func (x *SmallTaskResponse) GetPiece() *v2.Piece { if x != nil { return x.Piece } return nil } // 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"` // Concurrent downloading piece count from the peers. ParallelPieceCount int32 `protobuf:"varint,2,opt,name=parallel_piece_count,json=parallelPieceCount,proto3" json:"parallel_piece_count,omitempty"` } func (x *NormalTaskResponse) Reset() { *x = NormalTaskResponse{} 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 *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[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 NormalTaskResponse.ProtoReflect.Descriptor instead. func (*NormalTaskResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{10} } func (x *NormalTaskResponse) GetCandidateParents() []*v2.Peer { if x != nil { return x.CandidateParents } return nil } func (x *NormalTaskResponse) GetParallelPieceCount() int32 { if x != nil { return x.ParallelPieceCount } return 0 } // NeedBackToSourceResponse represents need back-to-source response of AnnouncePeerResponse. type NeedBackToSourceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Download back-to-source reason. Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` } func (x *NeedBackToSourceResponse) Reset() { *x = NeedBackToSourceResponse{} 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 *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[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 NeedBackToSourceResponse.ProtoReflect.Descriptor instead. func (*NeedBackToSourceResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{11} } func (x *NeedBackToSourceResponse) GetReason() string { if x != nil { return x.Reason } 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_TinyTaskResponse // *AnnouncePeerResponse_SmallTaskResponse // *AnnouncePeerResponse_NormalTaskResponse // *AnnouncePeerResponse_NeedBackToSourceResponse Response isAnnouncePeerResponse_Response `protobuf_oneof:"response"` // Types that are assignable to Errordetails: // // *AnnouncePeerResponse_SchedulePeerForbidden // *AnnouncePeerResponse_SchedulePeerFailed Errordetails isAnnouncePeerResponse_Errordetails `protobuf_oneof:"errordetails"` } func (x *AnnouncePeerResponse) Reset() { *x = AnnouncePeerResponse{} 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 *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[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 AnnouncePeerResponse.ProtoReflect.Descriptor instead. func (*AnnouncePeerResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{12} } func (m *AnnouncePeerResponse) GetResponse() isAnnouncePeerResponse_Response { if m != nil { return m.Response } return nil } func (x *AnnouncePeerResponse) GetTinyTaskResponse() *TinyTaskResponse { if x, ok := x.GetResponse().(*AnnouncePeerResponse_TinyTaskResponse); ok { return x.TinyTaskResponse } return nil } func (x *AnnouncePeerResponse) GetSmallTaskResponse() *SmallTaskResponse { if x, ok := x.GetResponse().(*AnnouncePeerResponse_SmallTaskResponse); ok { return x.SmallTaskResponse } 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 } func (m *AnnouncePeerResponse) GetErrordetails() isAnnouncePeerResponse_Errordetails { if m != nil { return m.Errordetails } return nil } func (x *AnnouncePeerResponse) GetSchedulePeerForbidden() *v21.SchedulePeerForbidden { if x, ok := x.GetErrordetails().(*AnnouncePeerResponse_SchedulePeerForbidden); ok { return x.SchedulePeerForbidden } return nil } func (x *AnnouncePeerResponse) GetSchedulePeerFailed() *v21.SchedulePeerFailed { if x, ok := x.GetErrordetails().(*AnnouncePeerResponse_SchedulePeerFailed); ok { return x.SchedulePeerFailed } return nil } type isAnnouncePeerResponse_Response interface { isAnnouncePeerResponse_Response() } type AnnouncePeerResponse_TinyTaskResponse struct { TinyTaskResponse *TinyTaskResponse `protobuf:"bytes,1,opt,name=tiny_task_response,json=tinyTaskResponse,proto3,oneof"` } type AnnouncePeerResponse_SmallTaskResponse struct { SmallTaskResponse *SmallTaskResponse `protobuf:"bytes,2,opt,name=small_task_response,json=smallTaskResponse,proto3,oneof"` } type AnnouncePeerResponse_NormalTaskResponse struct { NormalTaskResponse *NormalTaskResponse `protobuf:"bytes,3,opt,name=normal_task_response,json=normalTaskResponse,proto3,oneof"` } type AnnouncePeerResponse_NeedBackToSourceResponse struct { NeedBackToSourceResponse *NeedBackToSourceResponse `protobuf:"bytes,4,opt,name=need_back_to_source_response,json=needBackToSourceResponse,proto3,oneof"` } func (*AnnouncePeerResponse_TinyTaskResponse) isAnnouncePeerResponse_Response() {} func (*AnnouncePeerResponse_SmallTaskResponse) isAnnouncePeerResponse_Response() {} func (*AnnouncePeerResponse_NormalTaskResponse) isAnnouncePeerResponse_Response() {} func (*AnnouncePeerResponse_NeedBackToSourceResponse) isAnnouncePeerResponse_Response() {} type isAnnouncePeerResponse_Errordetails interface { isAnnouncePeerResponse_Errordetails() } type AnnouncePeerResponse_SchedulePeerForbidden struct { SchedulePeerForbidden *v21.SchedulePeerForbidden `protobuf:"bytes,5,opt,name=schedule_peer_forbidden,json=schedulePeerForbidden,proto3,oneof"` } type AnnouncePeerResponse_SchedulePeerFailed struct { SchedulePeerFailed *v21.SchedulePeerFailed `protobuf:"bytes,6,opt,name=schedule_peer_failed,json=schedulePeerFailed,proto3,oneof"` } func (*AnnouncePeerResponse_SchedulePeerForbidden) isAnnouncePeerResponse_Errordetails() {} func (*AnnouncePeerResponse_SchedulePeerFailed) isAnnouncePeerResponse_Errordetails() {} // StatPeerRequest represents request of StatPeer. type StatPeerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Task id. TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` // Peer id. PeerId string `protobuf:"bytes,2,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[13] 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[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 StatPeerRequest.ProtoReflect.Descriptor instead. func (*StatPeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{13} } func (x *StatPeerRequest) GetTaskId() string { if x != nil { return x.TaskId } return "" } func (x *StatPeerRequest) GetPeerId() string { if x != nil { return x.PeerId } return "" } // TODO exchange peer request definition. // ExchangePeerRequest represents request of ExchangePeer. type ExchangePeerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Task id. TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` // Peer id. PeerId string `protobuf:"bytes,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` } func (x *ExchangePeerRequest) Reset() { *x = ExchangePeerRequest{} 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 *ExchangePeerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangePeerRequest) ProtoMessage() {} func (x *ExchangePeerRequest) 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 ExchangePeerRequest.ProtoReflect.Descriptor instead. func (*ExchangePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{14} } func (x *ExchangePeerRequest) GetTaskId() string { if x != nil { return x.TaskId } return "" } func (x *ExchangePeerRequest) GetPeerId() string { if x != nil { return x.PeerId } return "" } // TODO exchange peer response definition. // ExchangePeerResponse represents response of ExchangePeer. type ExchangePeerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ExchangePeerResponse) Reset() { *x = ExchangePeerResponse{} 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 *ExchangePeerResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangePeerResponse) ProtoMessage() {} func (x *ExchangePeerResponse) 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 ExchangePeerResponse.ProtoReflect.Descriptor instead. func (*ExchangePeerResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{15} } // LeavePeerRequest represents request of LeavePeer. type LeavePeerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Task id. TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` // Peer id. PeerId string `protobuf:"bytes,2,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` } func (x *LeavePeerRequest) Reset() { *x = LeavePeerRequest{} 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 *LeavePeerRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LeavePeerRequest) ProtoMessage() {} func (x *LeavePeerRequest) 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 LeavePeerRequest.ProtoReflect.Descriptor instead. func (*LeavePeerRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{16} } func (x *LeavePeerRequest) GetTaskId() string { if x != nil { return x.TaskId } return "" } func (x *LeavePeerRequest) 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 // Task id. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *StatTaskRequest) Reset() { *x = StatTaskRequest{} 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 *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[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 StatTaskRequest.ProtoReflect.Descriptor instead. func (*StatTaskRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{17} } func (x *StatTaskRequest) GetId() string { if x != nil { return x.Id } return "" } // AnnounceHostRequest represents request of AnnounceHost. type AnnounceHostRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host id. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Host type. Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` // Hostname. Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"` // Host ip. Ip string `protobuf:"bytes,4,opt,name=ip,proto3" json:"ip,omitempty"` // Port of grpc service. Port int32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"` // Port of download server. DownloadPort int32 `protobuf:"varint,6,opt,name=download_port,json=downloadPort,proto3" json:"download_port,omitempty"` // Host OS. Os string `protobuf:"bytes,7,opt,name=os,proto3" json:"os,omitempty"` // Host platform. Platform string `protobuf:"bytes,8,opt,name=platform,proto3" json:"platform,omitempty"` // Host platform family. PlatformFamily string `protobuf:"bytes,9,opt,name=platform_family,json=platformFamily,proto3" json:"platform_family,omitempty"` // Host platform version. PlatformVersion string `protobuf:"bytes,10,opt,name=platform_version,json=platformVersion,proto3" json:"platform_version,omitempty"` // Host kernel version. KernelVersion string `protobuf:"bytes,11,opt,name=kernel_version,json=kernelVersion,proto3" json:"kernel_version,omitempty"` // CPU Stat. Cpu *CPU `protobuf:"bytes,12,opt,name=cpu,proto3" json:"cpu,omitempty"` // Memory Stat. Memory *Memory `protobuf:"bytes,13,opt,name=memory,proto3" json:"memory,omitempty"` // Network Stat. Network *Network `protobuf:"bytes,14,opt,name=network,proto3" json:"network,omitempty"` // Disk Stat. Disk *Disk `protobuf:"bytes,15,opt,name=disk,proto3" json:"disk,omitempty"` // Build information. Build *Build `protobuf:"bytes,16,opt,name=build,proto3" json:"build,omitempty"` } func (x *AnnounceHostRequest) Reset() { *x = AnnounceHostRequest{} 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 *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[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 AnnounceHostRequest.ProtoReflect.Descriptor instead. func (*AnnounceHostRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{18} } func (x *AnnounceHostRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *AnnounceHostRequest) GetType() uint32 { if x != nil { return x.Type } return 0 } func (x *AnnounceHostRequest) GetHostname() string { if x != nil { return x.Hostname } return "" } func (x *AnnounceHostRequest) GetIp() string { if x != nil { return x.Ip } return "" } func (x *AnnounceHostRequest) GetPort() int32 { if x != nil { return x.Port } return 0 } func (x *AnnounceHostRequest) GetDownloadPort() int32 { if x != nil { return x.DownloadPort } return 0 } func (x *AnnounceHostRequest) GetOs() string { if x != nil { return x.Os } return "" } func (x *AnnounceHostRequest) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *AnnounceHostRequest) GetPlatformFamily() string { if x != nil { return x.PlatformFamily } return "" } func (x *AnnounceHostRequest) GetPlatformVersion() string { if x != nil { return x.PlatformVersion } return "" } func (x *AnnounceHostRequest) GetKernelVersion() string { if x != nil { return x.KernelVersion } return "" } func (x *AnnounceHostRequest) GetCpu() *CPU { if x != nil { return x.Cpu } return nil } func (x *AnnounceHostRequest) GetMemory() *Memory { if x != nil { return x.Memory } return nil } func (x *AnnounceHostRequest) GetNetwork() *Network { if x != nil { return x.Network } return nil } func (x *AnnounceHostRequest) GetDisk() *Disk { if x != nil { return x.Disk } return nil } func (x *AnnounceHostRequest) GetBuild() *Build { if x != nil { return x.Build } return nil } // CPU Stat. type CPU struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Number of logical cores in the system. LogicalCount uint32 `protobuf:"varint,1,opt,name=logical_count,json=logicalCount,proto3" json:"logical_count,omitempty"` // Number of physical cores in the system PhysicalCount uint32 `protobuf:"varint,2,opt,name=physical_count,json=physicalCount,proto3" json:"physical_count,omitempty"` // Percent calculates the percentage of cpu used. Percent float64 `protobuf:"fixed64,3,opt,name=percent,proto3" json:"percent,omitempty"` // Calculates the percentage of cpu used by process. ProcessPercent float64 `protobuf:"fixed64,4,opt,name=process_percent,json=processPercent,proto3" json:"process_percent,omitempty"` // CPUTimes contains the amounts of time the CPU has spent performing different kinds of work. Times *CPUTimes `protobuf:"bytes,5,opt,name=times,proto3" json:"times,omitempty"` } func (x *CPU) Reset() { *x = CPU{} 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 *CPU) String() string { return protoimpl.X.MessageStringOf(x) } func (*CPU) ProtoMessage() {} func (x *CPU) 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 CPU.ProtoReflect.Descriptor instead. func (*CPU) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{19} } func (x *CPU) GetLogicalCount() uint32 { if x != nil { return x.LogicalCount } return 0 } func (x *CPU) GetPhysicalCount() uint32 { if x != nil { return x.PhysicalCount } return 0 } func (x *CPU) GetPercent() float64 { if x != nil { return x.Percent } return 0 } func (x *CPU) GetProcessPercent() float64 { if x != nil { return x.ProcessPercent } return 0 } func (x *CPU) GetTimes() *CPUTimes { if x != nil { return x.Times } return nil } // CPUTimes contains the amounts of time the CPU has spent performing different // kinds of work. Time units are in seconds. type CPUTimes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // CPU time of user. User float64 `protobuf:"fixed64,1,opt,name=user,proto3" json:"user,omitempty"` // CPU time of system. System float64 `protobuf:"fixed64,2,opt,name=system,proto3" json:"system,omitempty"` // CPU time of idle. Idle float64 `protobuf:"fixed64,3,opt,name=idle,proto3" json:"idle,omitempty"` // CPU time of nice. Nice float64 `protobuf:"fixed64,4,opt,name=nice,proto3" json:"nice,omitempty"` // CPU time of iowait. Iowait float64 `protobuf:"fixed64,5,opt,name=iowait,proto3" json:"iowait,omitempty"` // CPU time of irq. Irq float64 `protobuf:"fixed64,6,opt,name=irq,proto3" json:"irq,omitempty"` // CPU time of softirq. Softirq float64 `protobuf:"fixed64,7,opt,name=softirq,proto3" json:"softirq,omitempty"` // CPU time of steal. Steal float64 `protobuf:"fixed64,8,opt,name=steal,proto3" json:"steal,omitempty"` // CPU time of guest. Guest float64 `protobuf:"fixed64,9,opt,name=guest,proto3" json:"guest,omitempty"` // CPU time of guest nice. GuestNice float64 `protobuf:"fixed64,10,opt,name=guest_nice,json=guestNice,proto3" json:"guest_nice,omitempty"` } func (x *CPUTimes) Reset() { *x = CPUTimes{} 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 *CPUTimes) String() string { return protoimpl.X.MessageStringOf(x) } func (*CPUTimes) ProtoMessage() {} func (x *CPUTimes) 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 CPUTimes.ProtoReflect.Descriptor instead. func (*CPUTimes) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{20} } func (x *CPUTimes) GetUser() float64 { if x != nil { return x.User } return 0 } func (x *CPUTimes) GetSystem() float64 { if x != nil { return x.System } return 0 } func (x *CPUTimes) GetIdle() float64 { if x != nil { return x.Idle } return 0 } func (x *CPUTimes) GetNice() float64 { if x != nil { return x.Nice } return 0 } func (x *CPUTimes) GetIowait() float64 { if x != nil { return x.Iowait } return 0 } func (x *CPUTimes) GetIrq() float64 { if x != nil { return x.Irq } return 0 } func (x *CPUTimes) GetSoftirq() float64 { if x != nil { return x.Softirq } return 0 } func (x *CPUTimes) GetSteal() float64 { if x != nil { return x.Steal } return 0 } func (x *CPUTimes) GetGuest() float64 { if x != nil { return x.Guest } return 0 } func (x *CPUTimes) GetGuestNice() float64 { if x != nil { return x.GuestNice } return 0 } // Memory Stat. type Memory struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Total amount of RAM on this system. Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` // RAM available for programs to allocate. Available uint64 `protobuf:"varint,2,opt,name=available,proto3" json:"available,omitempty"` // RAM used by programs. Used uint64 `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"` // Percentage of RAM used by programs. UsedPercent float64 `protobuf:"fixed64,4,opt,name=used_percent,json=usedPercent,proto3" json:"used_percent,omitempty"` // Calculates the percentage of memory used by process. ProcessUsedPercent float64 `protobuf:"fixed64,5,opt,name=process_used_percent,json=processUsedPercent,proto3" json:"process_used_percent,omitempty"` // This is the kernel's notion of free memory. Free uint64 `protobuf:"varint,6,opt,name=free,proto3" json:"free,omitempty"` } func (x *Memory) Reset() { *x = Memory{} 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 *Memory) String() string { return protoimpl.X.MessageStringOf(x) } func (*Memory) ProtoMessage() {} func (x *Memory) 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 Memory.ProtoReflect.Descriptor instead. func (*Memory) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{21} } func (x *Memory) GetTotal() uint64 { if x != nil { return x.Total } return 0 } func (x *Memory) GetAvailable() uint64 { if x != nil { return x.Available } return 0 } func (x *Memory) GetUsed() uint64 { if x != nil { return x.Used } return 0 } func (x *Memory) GetUsedPercent() float64 { if x != nil { return x.UsedPercent } return 0 } func (x *Memory) GetProcessUsedPercent() float64 { if x != nil { return x.ProcessUsedPercent } return 0 } func (x *Memory) GetFree() uint64 { if x != nil { return x.Free } return 0 } // Network Stat. type Network struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Return count of tcp connections opened and status is ESTABLISHED. TcpConnectionCount uint32 `protobuf:"varint,1,opt,name=tcp_connection_count,json=tcpConnectionCount,proto3" json:"tcp_connection_count,omitempty"` // Return count of upload tcp connections opened and status is ESTABLISHED. UploadTcpConnectionCount uint32 `protobuf:"varint,2,opt,name=upload_tcp_connection_count,json=uploadTcpConnectionCount,proto3" json:"upload_tcp_connection_count,omitempty"` // Security domain for network. SecurityDomain string `protobuf:"bytes,3,opt,name=security_domain,json=securityDomain,proto3" json:"security_domain,omitempty"` // Location path(area|country|province|city|...). Location string `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"` // IDC where the peer host is located Idc string `protobuf:"bytes,5,opt,name=idc,proto3" json:"idc,omitempty"` } func (x *Network) Reset() { *x = Network{} 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 *Network) String() string { return protoimpl.X.MessageStringOf(x) } func (*Network) ProtoMessage() {} func (x *Network) 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 Network.ProtoReflect.Descriptor instead. func (*Network) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{22} } func (x *Network) GetTcpConnectionCount() uint32 { if x != nil { return x.TcpConnectionCount } return 0 } func (x *Network) GetUploadTcpConnectionCount() uint32 { if x != nil { return x.UploadTcpConnectionCount } return 0 } func (x *Network) GetSecurityDomain() string { if x != nil { return x.SecurityDomain } return "" } func (x *Network) GetLocation() string { if x != nil { return x.Location } return "" } func (x *Network) GetIdc() string { if x != nil { return x.Idc } return "" } // Disk Stat. type Disk struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Total amount of disk on the data path of dragonfly. Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` // Free amount of disk on the data path of dragonfly. Free uint64 `protobuf:"varint,2,opt,name=free,proto3" json:"free,omitempty"` // Used amount of disk on the data path of dragonfly. Used uint64 `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"` // Used percent of disk on the data path of dragonfly directory. UsedPercent float64 `protobuf:"fixed64,4,opt,name=used_percent,json=usedPercent,proto3" json:"used_percent,omitempty"` // Total amount of indoes on the data path of dragonfly directory. InodesTotal uint64 `protobuf:"varint,5,opt,name=inodes_total,json=inodesTotal,proto3" json:"inodes_total,omitempty"` // Used amount of indoes on the data path of dragonfly directory. InodesUsed uint64 `protobuf:"varint,6,opt,name=inodes_used,json=inodesUsed,proto3" json:"inodes_used,omitempty"` // Free amount of indoes on the data path of dragonfly directory. InodesFree uint64 `protobuf:"varint,7,opt,name=inodes_free,json=inodesFree,proto3" json:"inodes_free,omitempty"` // Used percent of indoes on the data path of dragonfly directory. InodesUsedPercent float64 `protobuf:"fixed64,8,opt,name=inodes_used_percent,json=inodesUsedPercent,proto3" json:"inodes_used_percent,omitempty"` } func (x *Disk) Reset() { *x = Disk{} 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 *Disk) String() string { return protoimpl.X.MessageStringOf(x) } func (*Disk) ProtoMessage() {} func (x *Disk) 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 Disk.ProtoReflect.Descriptor instead. func (*Disk) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{23} } func (x *Disk) GetTotal() uint64 { if x != nil { return x.Total } return 0 } func (x *Disk) GetFree() uint64 { if x != nil { return x.Free } return 0 } func (x *Disk) GetUsed() uint64 { if x != nil { return x.Used } return 0 } func (x *Disk) GetUsedPercent() float64 { if x != nil { return x.UsedPercent } return 0 } func (x *Disk) GetInodesTotal() uint64 { if x != nil { return x.InodesTotal } return 0 } func (x *Disk) GetInodesUsed() uint64 { if x != nil { return x.InodesUsed } return 0 } func (x *Disk) GetInodesFree() uint64 { if x != nil { return x.InodesFree } return 0 } func (x *Disk) GetInodesUsedPercent() float64 { if x != nil { return x.InodesUsedPercent } return 0 } // Build information. type Build struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Git version. GitVersion string `protobuf:"bytes,1,opt,name=git_version,json=gitVersion,proto3" json:"git_version,omitempty"` // Git commit. GitCommit string `protobuf:"bytes,2,opt,name=git_commit,json=gitCommit,proto3" json:"git_commit,omitempty"` // Golang version. GoVersion string `protobuf:"bytes,3,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"` // Build platform. Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` } func (x *Build) Reset() { *x = Build{} 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 *Build) String() string { return protoimpl.X.MessageStringOf(x) } func (*Build) ProtoMessage() {} func (x *Build) 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 Build.ProtoReflect.Descriptor instead. func (*Build) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{24} } func (x *Build) GetGitVersion() string { if x != nil { return x.GitVersion } return "" } func (x *Build) GetGitCommit() string { if x != nil { return x.GitCommit } return "" } func (x *Build) GetGoVersion() string { if x != nil { return x.GoVersion } return "" } func (x *Build) GetPlatform() string { if x != nil { return x.Platform } return "" } // LeaveHostRequest represents request of LeaveHost. type LeaveHostRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host id. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` } func (x *LeaveHostRequest) Reset() { *x = LeaveHostRequest{} 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 *LeaveHostRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LeaveHostRequest) ProtoMessage() {} func (x *LeaveHostRequest) 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 LeaveHostRequest.ProtoReflect.Descriptor instead. func (*LeaveHostRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{25} } func (x *LeaveHostRequest) GetId() string { if x != nil { return x.Id } return "" } // Probe information. type Probe struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host metadata. Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // RTT is the round-trip time sent via this pinger. Rtt *durationpb.Duration `protobuf:"bytes,2,opt,name=rtt,proto3" json:"rtt,omitempty"` // Task update time. UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` } func (x *Probe) Reset() { *x = Probe{} 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 *Probe) String() string { return protoimpl.X.MessageStringOf(x) } func (*Probe) ProtoMessage() {} func (x *Probe) 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 Probe.ProtoReflect.Descriptor instead. func (*Probe) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{26} } func (x *Probe) GetHost() *v2.Host { if x != nil { return x.Host } return nil } func (x *Probe) GetRtt() *durationpb.Duration { if x != nil { return x.Rtt } return nil } func (x *Probe) GetUpdatedAt() *timestamppb.Timestamp { if x != nil { return x.UpdatedAt } return nil } // ProbesOfHost represents probes information of the host. type ProbesOfHost struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Host metadata. Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` // Probes information. Probes []*Probe `protobuf:"bytes,2,rep,name=probes,proto3" json:"probes,omitempty"` } func (x *ProbesOfHost) Reset() { *x = ProbesOfHost{} 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 *ProbesOfHost) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProbesOfHost) ProtoMessage() {} func (x *ProbesOfHost) 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 ProbesOfHost.ProtoReflect.Descriptor instead. func (*ProbesOfHost) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{27} } func (x *ProbesOfHost) GetHost() *v2.Host { if x != nil { return x.Host } return nil } func (x *ProbesOfHost) GetProbes() []*Probe { if x != nil { return x.Probes } return nil } // SyncProbesRequest represents request of SyncProbes. type SyncProbesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Probes information of the host. ProbesOfHost *ProbesOfHost `protobuf:"bytes,1,opt,name=probes_of_host,json=probesOfHost,proto3" json:"probes_of_host,omitempty"` } func (x *SyncProbesRequest) Reset() { *x = SyncProbesRequest{} 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 *SyncProbesRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SyncProbesRequest) ProtoMessage() {} func (x *SyncProbesRequest) 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 SyncProbesRequest.ProtoReflect.Descriptor instead. func (*SyncProbesRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{28} } func (x *SyncProbesRequest) GetProbesOfHost() *ProbesOfHost { if x != nil { return x.ProbesOfHost } return nil } // SyncProbesResponse represents response of SyncProbes. type SyncProbesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Hosts needs to be probed. Hosts []*v2.Host `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"` // Probe interval. ProbeInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=probe_interval,json=probeInterval,proto3" json:"probe_interval,omitempty"` } func (x *SyncProbesResponse) Reset() { *x = SyncProbesResponse{} 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 *SyncProbesResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SyncProbesResponse) ProtoMessage() {} func (x *SyncProbesResponse) 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 SyncProbesResponse.ProtoReflect.Descriptor instead. func (*SyncProbesResponse) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{29} } func (x *SyncProbesResponse) GetHosts() []*v2.Host { if x != nil { return x.Hosts } return nil } func (x *SyncProbesResponse) GetProbeInterval() *durationpb.Duration { if x != nil { return x.ProbeInterval } return nil } // UpdateHostsRequest represents update hosts request of SyncNetworkTopologyRequest. type UpdateHostsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Hosts needs to be updated. ProbesOfHosts []*ProbesOfHost `protobuf:"bytes,1,rep,name=probes_of_hosts,json=probesOfHosts,proto3" json:"probes_of_hosts,omitempty"` } func (x *UpdateHostsRequest) Reset() { *x = UpdateHostsRequest{} 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 *UpdateHostsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateHostsRequest) ProtoMessage() {} func (x *UpdateHostsRequest) 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 UpdateHostsRequest.ProtoReflect.Descriptor instead. func (*UpdateHostsRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{30} } func (x *UpdateHostsRequest) GetProbesOfHosts() []*ProbesOfHost { if x != nil { return x.ProbesOfHosts } return nil } // DeleteHostsRequest represents delete hosts request of SyncNetworkTopologyRequest. type DeleteHostsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Hosts needs to be deleted. ProbesOfHosts []*ProbesOfHost `protobuf:"bytes,1,rep,name=probes_of_hosts,json=probesOfHosts,proto3" json:"probes_of_hosts,omitempty"` } func (x *DeleteHostsRequest) Reset() { *x = DeleteHostsRequest{} 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 *DeleteHostsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeleteHostsRequest) ProtoMessage() {} func (x *DeleteHostsRequest) 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 DeleteHostsRequest.ProtoReflect.Descriptor instead. func (*DeleteHostsRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31} } func (x *DeleteHostsRequest) GetProbesOfHosts() []*ProbesOfHost { if x != nil { return x.ProbesOfHosts } return nil } // SyncProbesRequest represents request of SyncProbes. type SyncNetworkTopologyRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Types that are assignable to Request: // // *SyncNetworkTopologyRequest_UpdateProbesOfHostsRequest // *SyncNetworkTopologyRequest_DeleteProbesOfHostsRequest Request isSyncNetworkTopologyRequest_Request `protobuf_oneof:"request"` } func (x *SyncNetworkTopologyRequest) Reset() { *x = SyncNetworkTopologyRequest{} 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 *SyncNetworkTopologyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SyncNetworkTopologyRequest) ProtoMessage() {} func (x *SyncNetworkTopologyRequest) 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 SyncNetworkTopologyRequest.ProtoReflect.Descriptor instead. func (*SyncNetworkTopologyRequest) Descriptor() ([]byte, []int) { return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{32} } func (m *SyncNetworkTopologyRequest) GetRequest() isSyncNetworkTopologyRequest_Request { if m != nil { return m.Request } return nil } func (x *SyncNetworkTopologyRequest) GetUpdateProbesOfHostsRequest() *UpdateHostsRequest { if x, ok := x.GetRequest().(*SyncNetworkTopologyRequest_UpdateProbesOfHostsRequest); ok { return x.UpdateProbesOfHostsRequest } return nil } func (x *SyncNetworkTopologyRequest) GetDeleteProbesOfHostsRequest() *DeleteHostsRequest { if x, ok := x.GetRequest().(*SyncNetworkTopologyRequest_DeleteProbesOfHostsRequest); ok { return x.DeleteProbesOfHostsRequest } return nil } type isSyncNetworkTopologyRequest_Request interface { isSyncNetworkTopologyRequest_Request() } type SyncNetworkTopologyRequest_UpdateProbesOfHostsRequest struct { UpdateProbesOfHostsRequest *UpdateHostsRequest `protobuf:"bytes,1,opt,name=update_probes_of_hosts_request,json=updateProbesOfHostsRequest,proto3,oneof"` } type SyncNetworkTopologyRequest_DeleteProbesOfHostsRequest struct { DeleteProbesOfHostsRequest *DeleteHostsRequest `protobuf:"bytes,2,opt,name=delete_probes_of_hosts_request,json=deleteProbesOfHostsRequest,proto3,oneof"` } func (*SyncNetworkTopologyRequest_UpdateProbesOfHostsRequest) isSyncNetworkTopologyRequest_Request() { } func (*SyncNetworkTopologyRequest_DeleteProbesOfHostsRequest) isSyncNetworkTopologyRequest_Request() { } 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, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x49, 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, 0x1f, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x77, 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, 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x28, 0x00, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x83, 0x01, 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, 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x28, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x22, 0x02, 0x28, 0x00, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 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, 0xa9, 0x0b, 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, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 0x02, 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, 0x03, 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, 0x04, 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, 0x05, 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, 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, 0x06, 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, 0x07, 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, 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, 0x08, 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, 0x09, 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, 0x7e, 0x0a, 0x23, 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, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 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, 0x48, 0x01, 0x52, 0x1e, 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, 0x12, 0x81, 0x01, 0x0a, 0x24, 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, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 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, 0x48, 0x01, 0x52, 0x1f, 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, 0x12, 0x51, 0x0a, 0x12, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x01, 0x52, 0x10, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x69, 0x65, 0x63, 0x65, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x5a, 0x0a, 0x15, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x01, 0x52, 0x13, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x2f, 0x0a, 0x10, 0x54, 0x69, 0x6e, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x7a, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x11, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 0x97, 0x01, 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, 0x12, 0x39, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x1a, 0x02, 0x28, 0x01, 0x52, 0x12, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x50, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3b, 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, 0x1f, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xd5, 0x04, 0x0a, 0x14, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x12, 0x74, 0x69, 0x6e, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6e, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x74, 0x69, 0x6e, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x13, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6d, 0x61, 0x6c, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 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, 0x03, 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, 0x04, 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, 0x12, 0x60, 0x0a, 0x17, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x48, 0x01, 0x52, 0x15, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x57, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x01, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x55, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x13, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x10, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 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, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e, 0x05, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x2a, 0x02, 0x18, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x70, 0x01, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x31, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0c, 0xfa, 0x42, 0x09, 0x1a, 0x07, 0x10, 0xff, 0xff, 0x03, 0x28, 0x80, 0x08, 0x52, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x50, 0x55, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x36, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x33, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x22, 0xfe, 0x01, 0x0a, 0x03, 0x43, 0x50, 0x55, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x50, 0x55, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x08, 0x43, 0x50, 0x55, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x04, 0x69, 0x64, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x69, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x06, 0x69, 0x6f, 0x77, 0x61, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x03, 0x69, 0x72, 0x71, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x03, 0x69, 0x72, 0x71, 0x12, 0x28, 0x0a, 0x07, 0x73, 0x6f, 0x66, 0x74, 0x69, 0x72, 0x71, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x07, 0x73, 0x6f, 0x66, 0x74, 0x69, 0x72, 0x71, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x05, 0x73, 0x74, 0x65, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x05, 0x67, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x01, 0x42, 0x0e, 0xfa, 0x42, 0x0b, 0x12, 0x09, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4e, 0x69, 0x63, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x55, 0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x74, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x1b, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x63, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x63, 0x22, 0xae, 0x02, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x66, 0x72, 0x65, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x3a, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x46, 0x72, 0x65, 0x65, 0x12, 0x47, 0x0a, 0x13, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x42, 0x17, 0xfa, 0x42, 0x14, 0x12, 0x12, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x40, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0x82, 0x01, 0x0a, 0x05, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x69, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x69, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x2b, 0x0a, 0x10, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 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, 0x35, 0x0a, 0x03, 0x72, 0x74, 0x74, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x03, 0x72, 0x74, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xb2, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x76, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 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, 0x37, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 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, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x92, 0x01, 0x04, 0x08, 0x01, 0x28, 0x01, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 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, 0x42, 0x08, 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x62, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x22, 0x62, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x22, 0xfc, 0x01, 0x0a, 0x1a, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x1e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x1e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x4f, 0x66, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x32, 0xba, 0x05, 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, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x61, 0x76, 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, 0x55, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 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, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 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, 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, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x61, 0x76, 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, 0x53, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 0x28, 0x01, 0x42, 0x2c, 0x5a, 0x2a, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 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, 33) 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 (*DownloadPeerFinishedRequest)(nil), // 3: scheduler.v2.DownloadPeerFinishedRequest (*DownloadPeerBackToSourceFinishedRequest)(nil), // 4: scheduler.v2.DownloadPeerBackToSourceFinishedRequest (*DownloadPieceFinishedRequest)(nil), // 5: scheduler.v2.DownloadPieceFinishedRequest (*DownloadPieceBackToSourceFinishedRequest)(nil), // 6: scheduler.v2.DownloadPieceBackToSourceFinishedRequest (*AnnouncePeerRequest)(nil), // 7: scheduler.v2.AnnouncePeerRequest (*TinyTaskResponse)(nil), // 8: scheduler.v2.TinyTaskResponse (*SmallTaskResponse)(nil), // 9: scheduler.v2.SmallTaskResponse (*NormalTaskResponse)(nil), // 10: scheduler.v2.NormalTaskResponse (*NeedBackToSourceResponse)(nil), // 11: scheduler.v2.NeedBackToSourceResponse (*AnnouncePeerResponse)(nil), // 12: scheduler.v2.AnnouncePeerResponse (*StatPeerRequest)(nil), // 13: scheduler.v2.StatPeerRequest (*ExchangePeerRequest)(nil), // 14: scheduler.v2.ExchangePeerRequest (*ExchangePeerResponse)(nil), // 15: scheduler.v2.ExchangePeerResponse (*LeavePeerRequest)(nil), // 16: scheduler.v2.LeavePeerRequest (*StatTaskRequest)(nil), // 17: scheduler.v2.StatTaskRequest (*AnnounceHostRequest)(nil), // 18: scheduler.v2.AnnounceHostRequest (*CPU)(nil), // 19: scheduler.v2.CPU (*CPUTimes)(nil), // 20: scheduler.v2.CPUTimes (*Memory)(nil), // 21: scheduler.v2.Memory (*Network)(nil), // 22: scheduler.v2.Network (*Disk)(nil), // 23: scheduler.v2.Disk (*Build)(nil), // 24: scheduler.v2.Build (*LeaveHostRequest)(nil), // 25: scheduler.v2.LeaveHostRequest (*Probe)(nil), // 26: scheduler.v2.Probe (*ProbesOfHost)(nil), // 27: scheduler.v2.ProbesOfHost (*SyncProbesRequest)(nil), // 28: scheduler.v2.SyncProbesRequest (*SyncProbesResponse)(nil), // 29: scheduler.v2.SyncProbesResponse (*UpdateHostsRequest)(nil), // 30: scheduler.v2.UpdateHostsRequest (*DeleteHostsRequest)(nil), // 31: scheduler.v2.DeleteHostsRequest (*SyncNetworkTopologyRequest)(nil), // 32: scheduler.v2.SyncNetworkTopologyRequest (*v2.Download)(nil), // 33: common.v2.Download (*v2.Piece)(nil), // 34: common.v2.Piece (*v21.DownloadPeerBackToSourceFailed)(nil), // 35: errordetails.v2.DownloadPeerBackToSourceFailed (*v21.DownloadPieceBackToSourceFailed)(nil), // 36: errordetails.v2.DownloadPieceBackToSourceFailed (*v21.SyncPiecesFailed)(nil), // 37: errordetails.v2.SyncPiecesFailed (*v21.DownloadPieceFailed)(nil), // 38: errordetails.v2.DownloadPieceFailed (*v2.Peer)(nil), // 39: common.v2.Peer (*v21.SchedulePeerForbidden)(nil), // 40: errordetails.v2.SchedulePeerForbidden (*v21.SchedulePeerFailed)(nil), // 41: errordetails.v2.SchedulePeerFailed (*v2.Host)(nil), // 42: common.v2.Host (*durationpb.Duration)(nil), // 43: google.protobuf.Duration (*timestamppb.Timestamp)(nil), // 44: google.protobuf.Timestamp (*emptypb.Empty)(nil), // 45: google.protobuf.Empty (*v2.Task)(nil), // 46: common.v2.Task } var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{ 33, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download 34, // 1: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece 34, // 2: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece 0, // 3: scheduler.v2.AnnouncePeerRequest.register_peer_request:type_name -> scheduler.v2.RegisterPeerRequest 1, // 4: scheduler.v2.AnnouncePeerRequest.download_peer_started_request:type_name -> scheduler.v2.DownloadPeerStartedRequest 2, // 5: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_started_request:type_name -> scheduler.v2.DownloadPeerBackToSourceStartedRequest 3, // 6: scheduler.v2.AnnouncePeerRequest.download_peer_finished_request:type_name -> scheduler.v2.DownloadPeerFinishedRequest 4, // 7: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPeerBackToSourceFinishedRequest 5, // 8: scheduler.v2.AnnouncePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest 6, // 9: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFinishedRequest 35, // 10: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_failed:type_name -> errordetails.v2.DownloadPeerBackToSourceFailed 36, // 11: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_failed:type_name -> errordetails.v2.DownloadPieceBackToSourceFailed 37, // 12: scheduler.v2.AnnouncePeerRequest.sync_pieces_failed:type_name -> errordetails.v2.SyncPiecesFailed 38, // 13: scheduler.v2.AnnouncePeerRequest.download_piece_failed:type_name -> errordetails.v2.DownloadPieceFailed 34, // 14: scheduler.v2.SmallTaskResponse.piece:type_name -> common.v2.Piece 39, // 15: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer 8, // 16: scheduler.v2.AnnouncePeerResponse.tiny_task_response:type_name -> scheduler.v2.TinyTaskResponse 9, // 17: scheduler.v2.AnnouncePeerResponse.small_task_response:type_name -> scheduler.v2.SmallTaskResponse 10, // 18: scheduler.v2.AnnouncePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalTaskResponse 11, // 19: scheduler.v2.AnnouncePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse 40, // 20: scheduler.v2.AnnouncePeerResponse.schedule_peer_forbidden:type_name -> errordetails.v2.SchedulePeerForbidden 41, // 21: scheduler.v2.AnnouncePeerResponse.schedule_peer_failed:type_name -> errordetails.v2.SchedulePeerFailed 19, // 22: scheduler.v2.AnnounceHostRequest.cpu:type_name -> scheduler.v2.CPU 21, // 23: scheduler.v2.AnnounceHostRequest.memory:type_name -> scheduler.v2.Memory 22, // 24: scheduler.v2.AnnounceHostRequest.network:type_name -> scheduler.v2.Network 23, // 25: scheduler.v2.AnnounceHostRequest.disk:type_name -> scheduler.v2.Disk 24, // 26: scheduler.v2.AnnounceHostRequest.build:type_name -> scheduler.v2.Build 20, // 27: scheduler.v2.CPU.times:type_name -> scheduler.v2.CPUTimes 42, // 28: scheduler.v2.Probe.host:type_name -> common.v2.Host 43, // 29: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration 44, // 30: scheduler.v2.Probe.updated_at:type_name -> google.protobuf.Timestamp 42, // 31: scheduler.v2.ProbesOfHost.host:type_name -> common.v2.Host 26, // 32: scheduler.v2.ProbesOfHost.probes:type_name -> scheduler.v2.Probe 27, // 33: scheduler.v2.SyncProbesRequest.probes_of_host:type_name -> scheduler.v2.ProbesOfHost 42, // 34: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host 43, // 35: scheduler.v2.SyncProbesResponse.probe_interval:type_name -> google.protobuf.Duration 27, // 36: scheduler.v2.UpdateHostsRequest.probes_of_hosts:type_name -> scheduler.v2.ProbesOfHost 27, // 37: scheduler.v2.DeleteHostsRequest.probes_of_hosts:type_name -> scheduler.v2.ProbesOfHost 30, // 38: scheduler.v2.SyncNetworkTopologyRequest.update_probes_of_hosts_request:type_name -> scheduler.v2.UpdateHostsRequest 31, // 39: scheduler.v2.SyncNetworkTopologyRequest.delete_probes_of_hosts_request:type_name -> scheduler.v2.DeleteHostsRequest 7, // 40: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest 13, // 41: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest 16, // 42: scheduler.v2.Scheduler.LeavePeer:input_type -> scheduler.v2.LeavePeerRequest 14, // 43: scheduler.v2.Scheduler.ExchangePeer:input_type -> scheduler.v2.ExchangePeerRequest 17, // 44: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest 18, // 45: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest 25, // 46: scheduler.v2.Scheduler.LeaveHost:input_type -> scheduler.v2.LeaveHostRequest 28, // 47: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest 32, // 48: scheduler.v2.Scheduler.SyncNetworkTopology:input_type -> scheduler.v2.SyncNetworkTopologyRequest 12, // 49: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse 39, // 50: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer 45, // 51: scheduler.v2.Scheduler.LeavePeer:output_type -> google.protobuf.Empty 15, // 52: scheduler.v2.Scheduler.ExchangePeer:output_type -> scheduler.v2.ExchangePeerResponse 46, // 53: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task 45, // 54: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty 45, // 55: scheduler.v2.Scheduler.LeaveHost:output_type -> google.protobuf.Empty 29, // 56: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse 45, // 57: scheduler.v2.Scheduler.SyncNetworkTopology:output_type -> google.protobuf.Empty 49, // [49:58] is the sub-list for method output_type 40, // [40:49] is the sub-list for method input_type 40, // [40:40] is the sub-list for extension type_name 40, // [40:40] is the sub-list for extension extendee 0, // [0:40] 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.(*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[4].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[5].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[6].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[7].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[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TinyTaskResponse); 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.(*SmallTaskResponse); 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.(*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[11].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[12].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[13].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[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangePeerRequest); 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.(*ExchangePeerResponse); 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.(*LeavePeerRequest); 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.(*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[18].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[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CPU); 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.(*CPUTimes); 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.(*Memory); 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.(*Network); 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.(*Disk); 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.(*Build); 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.(*LeaveHostRequest); 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.(*Probe); 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.(*ProbesOfHost); 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.(*SyncProbesRequest); 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.(*SyncProbesResponse); 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.(*UpdateHostsRequest); 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.(*DeleteHostsRequest); 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.(*SyncNetworkTopologyRequest); 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].OneofWrappers = []interface{}{ (*AnnouncePeerRequest_RegisterPeerRequest)(nil), (*AnnouncePeerRequest_DownloadPeerStartedRequest)(nil), (*AnnouncePeerRequest_DownloadPeerBackToSourceStartedRequest)(nil), (*AnnouncePeerRequest_DownloadPeerFinishedRequest)(nil), (*AnnouncePeerRequest_DownloadPeerBackToSourceFinishedRequest)(nil), (*AnnouncePeerRequest_DownloadPieceFinishedRequest)(nil), (*AnnouncePeerRequest_DownloadPieceBackToSourceFinishedRequest)(nil), (*AnnouncePeerRequest_DownloadPeerBackToSourceFailed)(nil), (*AnnouncePeerRequest_DownloadPieceBackToSourceFailed)(nil), (*AnnouncePeerRequest_SyncPiecesFailed)(nil), (*AnnouncePeerRequest_DownloadPieceFailed)(nil), } file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[12].OneofWrappers = []interface{}{ (*AnnouncePeerResponse_TinyTaskResponse)(nil), (*AnnouncePeerResponse_SmallTaskResponse)(nil), (*AnnouncePeerResponse_NormalTaskResponse)(nil), (*AnnouncePeerResponse_NeedBackToSourceResponse)(nil), (*AnnouncePeerResponse_SchedulePeerForbidden)(nil), (*AnnouncePeerResponse_SchedulePeerFailed)(nil), } file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[32].OneofWrappers = []interface{}{ (*SyncNetworkTopologyRequest_UpdateProbesOfHostsRequest)(nil), (*SyncNetworkTopologyRequest_DeleteProbesOfHostsRequest)(nil), } 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: 33, 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 }