feat: add leave task api (#313)

Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
Gaius 2024-05-16 21:32:38 +08:00 committed by GitHub
parent 019c98b381
commit ab1743c359
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 545 additions and 196 deletions

2
Cargo.lock generated
View File

@ -160,7 +160,7 @@ dependencies = [
[[package]]
name = "dragonfly-api"
version = "2.0.112"
version = "2.0.113"
dependencies = [
"prost 0.11.9",
"prost-types 0.12.4",

View File

@ -1,6 +1,6 @@
[package]
name = "dragonfly-api"
version = "2.0.112"
version = "2.0.113"
authors = ["Gaius <gaius.qi@gmail.com>"]
edition = "2021"
license = "Apache-2.0"

View File

@ -1467,6 +1467,64 @@ func (x *StatTaskRequest) GetId() string {
return ""
}
// LeaveTaskRequest represents request of LeaveTask.
type LeaveTaskRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Host id.
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Task id.
TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (x *LeaveTaskRequest) Reset() {
*x = LeaveTaskRequest{}
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 *LeaveTaskRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LeaveTaskRequest) ProtoMessage() {}
func (x *LeaveTaskRequest) 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 LeaveTaskRequest.ProtoReflect.Descriptor instead.
func (*LeaveTaskRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{22}
}
func (x *LeaveTaskRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *LeaveTaskRequest) GetTaskId() string {
if x != nil {
return x.TaskId
}
return ""
}
// AnnounceHostRequest represents request of AnnounceHost.
type AnnounceHostRequest struct {
state protoimpl.MessageState
@ -1480,7 +1538,7 @@ type AnnounceHostRequest struct {
func (x *AnnounceHostRequest) Reset() {
*x = AnnounceHostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1493,7 +1551,7 @@ func (x *AnnounceHostRequest) String() string {
func (*AnnounceHostRequest) ProtoMessage() {}
func (x *AnnounceHostRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22]
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 {
@ -1506,7 +1564,7 @@ func (x *AnnounceHostRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use AnnounceHostRequest.ProtoReflect.Descriptor instead.
func (*AnnounceHostRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{22}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{23}
}
func (x *AnnounceHostRequest) GetHost() *v2.Host {
@ -1529,7 +1587,7 @@ type LeaveHostRequest struct {
func (x *LeaveHostRequest) Reset() {
*x = LeaveHostRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1542,7 +1600,7 @@ func (x *LeaveHostRequest) String() string {
func (*LeaveHostRequest) ProtoMessage() {}
func (x *LeaveHostRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23]
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 {
@ -1555,7 +1613,7 @@ func (x *LeaveHostRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use LeaveHostRequest.ProtoReflect.Descriptor instead.
func (*LeaveHostRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{23}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{24}
}
func (x *LeaveHostRequest) GetId() string {
@ -1575,7 +1633,7 @@ type ProbeStartedRequest struct {
func (x *ProbeStartedRequest) Reset() {
*x = ProbeStartedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1588,7 +1646,7 @@ func (x *ProbeStartedRequest) String() string {
func (*ProbeStartedRequest) ProtoMessage() {}
func (x *ProbeStartedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24]
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 {
@ -1601,7 +1659,7 @@ func (x *ProbeStartedRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProbeStartedRequest.ProtoReflect.Descriptor instead.
func (*ProbeStartedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{24}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{25}
}
// Probe information.
@ -1621,7 +1679,7 @@ type Probe struct {
func (x *Probe) Reset() {
*x = Probe{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1634,7 +1692,7 @@ func (x *Probe) String() string {
func (*Probe) ProtoMessage() {}
func (x *Probe) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25]
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 {
@ -1647,7 +1705,7 @@ func (x *Probe) ProtoReflect() protoreflect.Message {
// Deprecated: Use Probe.ProtoReflect.Descriptor instead.
func (*Probe) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{25}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{26}
}
func (x *Probe) GetHost() *v2.Host {
@ -1684,7 +1742,7 @@ type ProbeFinishedRequest struct {
func (x *ProbeFinishedRequest) Reset() {
*x = ProbeFinishedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1697,7 +1755,7 @@ func (x *ProbeFinishedRequest) String() string {
func (*ProbeFinishedRequest) ProtoMessage() {}
func (x *ProbeFinishedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26]
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 {
@ -1710,7 +1768,7 @@ func (x *ProbeFinishedRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProbeFinishedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFinishedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{26}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{27}
}
func (x *ProbeFinishedRequest) GetProbes() []*Probe {
@ -1735,7 +1793,7 @@ type FailedProbe struct {
func (x *FailedProbe) Reset() {
*x = FailedProbe{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1748,7 +1806,7 @@ func (x *FailedProbe) String() string {
func (*FailedProbe) ProtoMessage() {}
func (x *FailedProbe) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27]
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 {
@ -1761,7 +1819,7 @@ func (x *FailedProbe) ProtoReflect() protoreflect.Message {
// Deprecated: Use FailedProbe.ProtoReflect.Descriptor instead.
func (*FailedProbe) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{27}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{28}
}
func (x *FailedProbe) GetHost() *v2.Host {
@ -1791,7 +1849,7 @@ type ProbeFailedRequest struct {
func (x *ProbeFailedRequest) Reset() {
*x = ProbeFailedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1804,7 +1862,7 @@ func (x *ProbeFailedRequest) String() string {
func (*ProbeFailedRequest) ProtoMessage() {}
func (x *ProbeFailedRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28]
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 {
@ -1817,7 +1875,7 @@ func (x *ProbeFailedRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ProbeFailedRequest.ProtoReflect.Descriptor instead.
func (*ProbeFailedRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{28}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{29}
}
func (x *ProbeFailedRequest) GetProbes() []*FailedProbe {
@ -1846,7 +1904,7 @@ type SyncProbesRequest struct {
func (x *SyncProbesRequest) Reset() {
*x = SyncProbesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1859,7 +1917,7 @@ func (x *SyncProbesRequest) String() string {
func (*SyncProbesRequest) ProtoMessage() {}
func (x *SyncProbesRequest) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29]
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 {
@ -1872,7 +1930,7 @@ func (x *SyncProbesRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncProbesRequest.ProtoReflect.Descriptor instead.
func (*SyncProbesRequest) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{29}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{30}
}
func (x *SyncProbesRequest) GetHost() *v2.Host {
@ -1945,7 +2003,7 @@ type SyncProbesResponse struct {
func (x *SyncProbesResponse) Reset() {
*x = SyncProbesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30]
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1958,7 +2016,7 @@ func (x *SyncProbesResponse) String() string {
func (*SyncProbesResponse) ProtoMessage() {}
func (x *SyncProbesResponse) ProtoReflect() protoreflect.Message {
mi := &file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30]
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 {
@ -1971,7 +2029,7 @@ func (x *SyncProbesResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use SyncProbesResponse.ProtoReflect.Descriptor instead.
func (*SyncProbesResponse) Descriptor() ([]byte, []int) {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{30}
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP(), []int{31}
}
func (x *SyncProbesResponse) GetHosts() []*v2.Host {
@ -2242,113 +2300,123 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{
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, 0x44, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f,
0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08,
0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 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, 0x15, 0x0a, 0x13, 0x50,
0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 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, 0x63, 0x72, 0x65, 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, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4d, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x35, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 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, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06,
0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0x7f, 0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64,
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, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05,
0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63,
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a,
0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02,
0x08, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x11, 0x53,
0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42,
0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12,
0x57, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64,
0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72,
0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65,
0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x62,
0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14,
0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x61,
0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76,
0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69,
0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x47, 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, 0x32, 0xdf, 0x04, 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,
0x72, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x22, 0x56, 0x0a, 0x10, 0x4c, 0x65, 0x61, 0x76,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07,
0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa,
0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
0x22, 0x44, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76,
0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01,
0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 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, 0x15, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72,
0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x63, 0x72,
0x65, 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, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22,
0x4d, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65,
0x73, 0x18, 0x01, 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, 0x08, 0xfa, 0x42,
0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x22, 0x7f,
0x0a, 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 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, 0x31, 0x0a, 0x0b,
0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x51, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x62,
0x65, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x11, 0x53, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x6f, 0x62, 0x65,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10,
0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x62, 0x65,
0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74,
0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x13, 0x70, 0x72, 0x6f,
0x62, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x5a, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68,
0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e,
0x50, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x69, 0x6e,
0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x14,
0x70, 0x72, 0x6f, 0x62, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x46,
0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x12,
0x70, 0x72, 0x6f, 0x62, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8,
0x42, 0x01, 0x22, 0x47, 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, 0x32, 0xa4, 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, 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, 0x42, 0x2f, 0x5a, 0x2d, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f,
0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 0x43, 0x0a, 0x09, 0x4c, 0x65, 0x61, 0x76,
0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a,
0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e,
0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e,
0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 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, 0x42, 0x2f, 0x5a, 0x2d, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x76, 0x32, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68,
0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -2363,7 +2431,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_rawDescGZIP() []byte {
return file_pkg_apis_scheduler_v2_scheduler_proto_rawDescData
}
var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
var file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
(*RegisterPeerRequest)(nil), // 0: scheduler.v2.RegisterPeerRequest
(*DownloadPeerStartedRequest)(nil), // 1: scheduler.v2.DownloadPeerStartedRequest
@ -2387,31 +2455,32 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_goTypes = []interface{}{
(*ExchangePeerResponse)(nil), // 19: scheduler.v2.ExchangePeerResponse
(*LeavePeerRequest)(nil), // 20: scheduler.v2.LeavePeerRequest
(*StatTaskRequest)(nil), // 21: scheduler.v2.StatTaskRequest
(*AnnounceHostRequest)(nil), // 22: scheduler.v2.AnnounceHostRequest
(*LeaveHostRequest)(nil), // 23: scheduler.v2.LeaveHostRequest
(*ProbeStartedRequest)(nil), // 24: scheduler.v2.ProbeStartedRequest
(*Probe)(nil), // 25: scheduler.v2.Probe
(*ProbeFinishedRequest)(nil), // 26: scheduler.v2.ProbeFinishedRequest
(*FailedProbe)(nil), // 27: scheduler.v2.FailedProbe
(*ProbeFailedRequest)(nil), // 28: scheduler.v2.ProbeFailedRequest
(*SyncProbesRequest)(nil), // 29: scheduler.v2.SyncProbesRequest
(*SyncProbesResponse)(nil), // 30: scheduler.v2.SyncProbesResponse
(*v2.Download)(nil), // 31: common.v2.Download
(*v2.Peer)(nil), // 32: common.v2.Peer
(*v2.Piece)(nil), // 33: common.v2.Piece
(*v21.HTTP)(nil), // 34: errordetails.v2.HTTP
(*v2.Host)(nil), // 35: common.v2.Host
(*durationpb.Duration)(nil), // 36: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 38: google.protobuf.Empty
(*v2.Task)(nil), // 39: common.v2.Task
(*LeaveTaskRequest)(nil), // 22: scheduler.v2.LeaveTaskRequest
(*AnnounceHostRequest)(nil), // 23: scheduler.v2.AnnounceHostRequest
(*LeaveHostRequest)(nil), // 24: scheduler.v2.LeaveHostRequest
(*ProbeStartedRequest)(nil), // 25: scheduler.v2.ProbeStartedRequest
(*Probe)(nil), // 26: scheduler.v2.Probe
(*ProbeFinishedRequest)(nil), // 27: scheduler.v2.ProbeFinishedRequest
(*FailedProbe)(nil), // 28: scheduler.v2.FailedProbe
(*ProbeFailedRequest)(nil), // 29: scheduler.v2.ProbeFailedRequest
(*SyncProbesRequest)(nil), // 30: scheduler.v2.SyncProbesRequest
(*SyncProbesResponse)(nil), // 31: scheduler.v2.SyncProbesResponse
(*v2.Download)(nil), // 32: common.v2.Download
(*v2.Peer)(nil), // 33: common.v2.Peer
(*v2.Piece)(nil), // 34: common.v2.Piece
(*v21.HTTP)(nil), // 35: errordetails.v2.HTTP
(*v2.Host)(nil), // 36: common.v2.Host
(*durationpb.Duration)(nil), // 37: google.protobuf.Duration
(*timestamppb.Timestamp)(nil), // 38: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 39: google.protobuf.Empty
(*v2.Task)(nil), // 40: common.v2.Task
}
var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
31, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
32, // 1: scheduler.v2.RescheduleRequest.candidate_parents:type_name -> common.v2.Peer
33, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
33, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
34, // 4: scheduler.v2.DownloadPieceBackToSourceFailedRequest.http:type_name -> errordetails.v2.HTTP
32, // 0: scheduler.v2.RegisterPeerRequest.download:type_name -> common.v2.Download
33, // 1: scheduler.v2.RescheduleRequest.candidate_parents:type_name -> common.v2.Peer
34, // 2: scheduler.v2.DownloadPieceFinishedRequest.piece:type_name -> common.v2.Piece
34, // 3: scheduler.v2.DownloadPieceBackToSourceFinishedRequest.piece:type_name -> common.v2.Piece
35, // 4: scheduler.v2.DownloadPieceBackToSourceFailedRequest.http:type_name -> errordetails.v2.HTTP
0, // 5: scheduler.v2.AnnouncePeerRequest.register_peer_request:type_name -> scheduler.v2.RegisterPeerRequest
1, // 6: scheduler.v2.AnnouncePeerRequest.download_peer_started_request:type_name -> scheduler.v2.DownloadPeerStartedRequest
2, // 7: scheduler.v2.AnnouncePeerRequest.download_peer_back_to_source_started_request:type_name -> scheduler.v2.DownloadPeerBackToSourceStartedRequest
@ -2424,40 +2493,42 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{
9, // 14: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_finished_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFinishedRequest
10, // 15: scheduler.v2.AnnouncePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest
11, // 16: scheduler.v2.AnnouncePeerRequest.download_piece_back_to_source_failed_request:type_name -> scheduler.v2.DownloadPieceBackToSourceFailedRequest
32, // 17: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
33, // 17: scheduler.v2.NormalTaskResponse.candidate_parents:type_name -> common.v2.Peer
13, // 18: scheduler.v2.AnnouncePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyTaskResponse
14, // 19: scheduler.v2.AnnouncePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalTaskResponse
15, // 20: scheduler.v2.AnnouncePeerResponse.need_back_to_source_response:type_name -> scheduler.v2.NeedBackToSourceResponse
35, // 21: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
35, // 22: scheduler.v2.Probe.host:type_name -> common.v2.Host
36, // 23: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration
37, // 24: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp
25, // 25: scheduler.v2.ProbeFinishedRequest.probes:type_name -> scheduler.v2.Probe
35, // 26: scheduler.v2.FailedProbe.host:type_name -> common.v2.Host
27, // 27: scheduler.v2.ProbeFailedRequest.probes:type_name -> scheduler.v2.FailedProbe
35, // 28: scheduler.v2.SyncProbesRequest.host:type_name -> common.v2.Host
24, // 29: scheduler.v2.SyncProbesRequest.probe_started_request:type_name -> scheduler.v2.ProbeStartedRequest
26, // 30: scheduler.v2.SyncProbesRequest.probe_finished_request:type_name -> scheduler.v2.ProbeFinishedRequest
28, // 31: scheduler.v2.SyncProbesRequest.probe_failed_request:type_name -> scheduler.v2.ProbeFailedRequest
35, // 32: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host
36, // 21: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host
36, // 22: scheduler.v2.Probe.host:type_name -> common.v2.Host
37, // 23: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration
38, // 24: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp
26, // 25: scheduler.v2.ProbeFinishedRequest.probes:type_name -> scheduler.v2.Probe
36, // 26: scheduler.v2.FailedProbe.host:type_name -> common.v2.Host
28, // 27: scheduler.v2.ProbeFailedRequest.probes:type_name -> scheduler.v2.FailedProbe
36, // 28: scheduler.v2.SyncProbesRequest.host:type_name -> common.v2.Host
25, // 29: scheduler.v2.SyncProbesRequest.probe_started_request:type_name -> scheduler.v2.ProbeStartedRequest
27, // 30: scheduler.v2.SyncProbesRequest.probe_finished_request:type_name -> scheduler.v2.ProbeFinishedRequest
29, // 31: scheduler.v2.SyncProbesRequest.probe_failed_request:type_name -> scheduler.v2.ProbeFailedRequest
36, // 32: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host
12, // 33: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest
17, // 34: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest
20, // 35: scheduler.v2.Scheduler.LeavePeer:input_type -> scheduler.v2.LeavePeerRequest
18, // 36: scheduler.v2.Scheduler.ExchangePeer:input_type -> scheduler.v2.ExchangePeerRequest
21, // 37: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest
22, // 38: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
23, // 39: scheduler.v2.Scheduler.LeaveHost:input_type -> scheduler.v2.LeaveHostRequest
29, // 40: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest
16, // 41: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
32, // 42: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
38, // 43: scheduler.v2.Scheduler.LeavePeer:output_type -> google.protobuf.Empty
19, // 44: scheduler.v2.Scheduler.ExchangePeer:output_type -> scheduler.v2.ExchangePeerResponse
39, // 45: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
38, // 46: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
38, // 47: scheduler.v2.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
30, // 48: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse
41, // [41:49] is the sub-list for method output_type
33, // [33:41] is the sub-list for method input_type
22, // 38: scheduler.v2.Scheduler.LeaveTask:input_type -> scheduler.v2.LeaveTaskRequest
23, // 39: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest
24, // 40: scheduler.v2.Scheduler.LeaveHost:input_type -> scheduler.v2.LeaveHostRequest
30, // 41: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest
16, // 42: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse
33, // 43: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer
39, // 44: scheduler.v2.Scheduler.LeavePeer:output_type -> google.protobuf.Empty
19, // 45: scheduler.v2.Scheduler.ExchangePeer:output_type -> scheduler.v2.ExchangePeerResponse
40, // 46: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task
39, // 47: scheduler.v2.Scheduler.LeaveTask:output_type -> google.protobuf.Empty
39, // 48: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty
39, // 49: scheduler.v2.Scheduler.LeaveHost:output_type -> google.protobuf.Empty
31, // 50: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse
42, // [42:51] is the sub-list for method output_type
33, // [33:42] is the sub-list for method input_type
33, // [33:33] is the sub-list for extension type_name
33, // [33:33] is the sub-list for extension extendee
0, // [0:33] is the sub-list for field type_name
@ -2734,7 +2805,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnnounceHostRequest); i {
switch v := v.(*LeaveTaskRequest); i {
case 0:
return &v.state
case 1:
@ -2746,7 +2817,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LeaveHostRequest); i {
switch v := v.(*AnnounceHostRequest); i {
case 0:
return &v.state
case 1:
@ -2758,7 +2829,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbeStartedRequest); i {
switch v := v.(*LeaveHostRequest); i {
case 0:
return &v.state
case 1:
@ -2770,7 +2841,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Probe); i {
switch v := v.(*ProbeStartedRequest); i {
case 0:
return &v.state
case 1:
@ -2782,7 +2853,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbeFinishedRequest); i {
switch v := v.(*Probe); i {
case 0:
return &v.state
case 1:
@ -2794,7 +2865,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FailedProbe); i {
switch v := v.(*ProbeFinishedRequest); i {
case 0:
return &v.state
case 1:
@ -2806,7 +2877,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProbeFailedRequest); i {
switch v := v.(*FailedProbe); i {
case 0:
return &v.state
case 1:
@ -2818,7 +2889,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesRequest); i {
switch v := v.(*ProbeFailedRequest); i {
case 0:
return &v.state
case 1:
@ -2830,6 +2901,18 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
}
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30].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[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SyncProbesResponse); i {
case 0:
return &v.state
@ -2870,8 +2953,8 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
(*AnnouncePeerResponse_NormalTaskResponse)(nil),
(*AnnouncePeerResponse_NeedBackToSourceResponse)(nil),
}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[27].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[29].OneofWrappers = []interface{}{
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].OneofWrappers = []interface{}{}
file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[30].OneofWrappers = []interface{}{
(*SyncProbesRequest_ProbeStartedRequest)(nil),
(*SyncProbesRequest_ProbeFinishedRequest)(nil),
(*SyncProbesRequest_ProbeFailedRequest)(nil),
@ -2882,7 +2965,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc,
NumEnums: 0,
NumMessages: 31,
NumMessages: 32,
NumExtensions: 0,
NumServices: 1,
},

View File

@ -3480,6 +3480,128 @@ var _ interface {
ErrorName() string
} = StatTaskRequestValidationError{}
// Validate checks the field values on LeaveTaskRequest with the rules defined
// in the proto definition for this message. If any rules are violated, the
// first error encountered is returned, or nil if there are no violations.
func (m *LeaveTaskRequest) Validate() error {
return m.validate(false)
}
// ValidateAll checks the field values on LeaveTaskRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the result is a list of violation errors wrapped in
// LeaveTaskRequestMultiError, or nil if none found.
func (m *LeaveTaskRequest) ValidateAll() error {
return m.validate(true)
}
func (m *LeaveTaskRequest) validate(all bool) error {
if m == nil {
return nil
}
var errors []error
if utf8.RuneCountInString(m.GetHostId()) < 1 {
err := LeaveTaskRequestValidationError{
field: "HostId",
reason: "value length must be at least 1 runes",
}
if !all {
return err
}
errors = append(errors, err)
}
if utf8.RuneCountInString(m.GetTaskId()) < 1 {
err := LeaveTaskRequestValidationError{
field: "TaskId",
reason: "value length must be at least 1 runes",
}
if !all {
return err
}
errors = append(errors, err)
}
if len(errors) > 0 {
return LeaveTaskRequestMultiError(errors)
}
return nil
}
// LeaveTaskRequestMultiError is an error wrapping multiple validation errors
// returned by LeaveTaskRequest.ValidateAll() if the designated constraints
// aren't met.
type LeaveTaskRequestMultiError []error
// Error returns a concatenation of all the error messages it wraps.
func (m LeaveTaskRequestMultiError) Error() string {
var msgs []string
for _, err := range m {
msgs = append(msgs, err.Error())
}
return strings.Join(msgs, "; ")
}
// AllErrors returns a list of validation violation errors.
func (m LeaveTaskRequestMultiError) AllErrors() []error { return m }
// LeaveTaskRequestValidationError is the validation error returned by
// LeaveTaskRequest.Validate if the designated constraints aren't met.
type LeaveTaskRequestValidationError struct {
field string
reason string
cause error
key bool
}
// Field function returns field value.
func (e LeaveTaskRequestValidationError) Field() string { return e.field }
// Reason function returns reason value.
func (e LeaveTaskRequestValidationError) Reason() string { return e.reason }
// Cause function returns cause value.
func (e LeaveTaskRequestValidationError) Cause() error { return e.cause }
// Key function returns key value.
func (e LeaveTaskRequestValidationError) Key() bool { return e.key }
// ErrorName returns error name.
func (e LeaveTaskRequestValidationError) ErrorName() string { return "LeaveTaskRequestValidationError" }
// Error satisfies the builtin error interface
func (e LeaveTaskRequestValidationError) Error() string {
cause := ""
if e.cause != nil {
cause = fmt.Sprintf(" | caused by: %v", e.cause)
}
key := ""
if e.key {
key = "key for "
}
return fmt.Sprintf(
"invalid %sLeaveTaskRequest.%s: %s%s",
key,
e.field,
e.reason,
cause)
}
var _ error = LeaveTaskRequestValidationError{}
var _ interface {
Field() string
Reason() string
Key() bool
Cause() error
ErrorName() string
} = LeaveTaskRequestValidationError{}
// Validate checks the field values on AnnounceHostRequest with the rules
// defined in the proto definition for this message. If any rules are
// violated, the first error encountered is returned, or nil if there are no violations.

View File

@ -210,6 +210,14 @@ message StatTaskRequest {
string id = 1 [(validate.rules).string.min_len = 1];
}
// LeaveTaskRequest represents request of LeaveTask.
message LeaveTaskRequest {
// Host id.
string host_id = 1 [(validate.rules).string.min_len = 1];
// Task id.
string task_id = 2 [(validate.rules).string.min_len = 1];
}
// AnnounceHostRequest represents request of AnnounceHost.
message AnnounceHostRequest {
// Host info.
@ -294,6 +302,9 @@ service Scheduler {
// Checks information of task.
rpc StatTask(StatTaskRequest)returns(common.v2.Task);
// LeaveTask releases task in scheduler.
rpc LeaveTask(LeaveTaskRequest)returns(google.protobuf.Empty);
// AnnounceHost announces host to scheduler.
rpc AnnounceHost(AnnounceHostRequest)returns(google.protobuf.Empty);

View File

@ -35,6 +35,8 @@ type SchedulerClient interface {
ExchangePeer(ctx context.Context, in *ExchangePeerRequest, opts ...grpc.CallOption) (*ExchangePeerResponse, error)
// Checks information of task.
StatTask(ctx context.Context, in *StatTaskRequest, opts ...grpc.CallOption) (*v2.Task, error)
// LeaveTask releases task in scheduler.
LeaveTask(ctx context.Context, in *LeaveTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// AnnounceHost announces host to scheduler.
AnnounceHost(ctx context.Context, in *AnnounceHostRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// LeaveHost releases host in scheduler.
@ -118,6 +120,15 @@ func (c *schedulerClient) StatTask(ctx context.Context, in *StatTaskRequest, opt
return out, nil
}
func (c *schedulerClient) LeaveTask(ctx context.Context, in *LeaveTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/LeaveTask", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *schedulerClient) AnnounceHost(ctx context.Context, in *AnnounceHostRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/AnnounceHost", in, out, opts...)
@ -182,6 +193,8 @@ type SchedulerServer interface {
ExchangePeer(context.Context, *ExchangePeerRequest) (*ExchangePeerResponse, error)
// Checks information of task.
StatTask(context.Context, *StatTaskRequest) (*v2.Task, error)
// LeaveTask releases task in scheduler.
LeaveTask(context.Context, *LeaveTaskRequest) (*emptypb.Empty, error)
// AnnounceHost announces host to scheduler.
AnnounceHost(context.Context, *AnnounceHostRequest) (*emptypb.Empty, error)
// LeaveHost releases host in scheduler.
@ -209,6 +222,9 @@ func (UnimplementedSchedulerServer) ExchangePeer(context.Context, *ExchangePeerR
func (UnimplementedSchedulerServer) StatTask(context.Context, *StatTaskRequest) (*v2.Task, error) {
return nil, status.Errorf(codes.Unimplemented, "method StatTask not implemented")
}
func (UnimplementedSchedulerServer) LeaveTask(context.Context, *LeaveTaskRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method LeaveTask not implemented")
}
func (UnimplementedSchedulerServer) AnnounceHost(context.Context, *AnnounceHostRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method AnnounceHost not implemented")
}
@ -328,6 +344,24 @@ func _Scheduler_StatTask_Handler(srv interface{}, ctx context.Context, dec func(
return interceptor(ctx, in, info, handler)
}
func _Scheduler_LeaveTask_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(LeaveTaskRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SchedulerServer).LeaveTask(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/scheduler.v2.Scheduler/LeaveTask",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SchedulerServer).LeaveTask(ctx, req.(*LeaveTaskRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Scheduler_AnnounceHost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AnnounceHostRequest)
if err := dec(in); err != nil {
@ -413,6 +447,10 @@ var Scheduler_ServiceDesc = grpc.ServiceDesc{
MethodName: "StatTask",
Handler: _Scheduler_StatTask_Handler,
},
{
MethodName: "LeaveTask",
Handler: _Scheduler_LeaveTask_Handler,
},
{
MethodName: "AnnounceHost",
Handler: _Scheduler_AnnounceHost_Handler,

View File

@ -201,6 +201,14 @@ message StatTaskRequest {
string id = 1;
}
// LeaveTaskRequest represents request of LeaveTask.
message LeaveTaskRequest {
// Host id.
string host_id = 1;
// Task id.
string task_id = 2;
}
// AnnounceHostRequest represents request of AnnounceHost.
message AnnounceHostRequest {
// Host information.
@ -283,6 +291,9 @@ service Scheduler{
// Checks information of task.
rpc StatTask(StatTaskRequest)returns(common.v2.Task);
// LeaveTask releases task in scheduler.
rpc LeaveTask(LeaveTaskRequest)returns(google.protobuf.Empty);
// AnnounceHost announces host to scheduler.
rpc AnnounceHost(AnnounceHostRequest)returns(google.protobuf.Empty);

Binary file not shown.

View File

@ -302,6 +302,18 @@ pub struct StatTaskRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
}
/// LeaveTaskRequest represents request of LeaveTask.
#[derive(serde::Serialize, serde::Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveTaskRequest {
/// Host id.
#[prost(string, tag = "1")]
pub host_id: ::prost::alloc::string::String,
/// Task id.
#[prost(string, tag = "2")]
pub task_id: ::prost::alloc::string::String,
}
/// AnnounceHostRequest represents request of AnnounceHost.
#[derive(serde::Serialize, serde::Deserialize)]
#[allow(clippy::derive_partial_eq_without_eq)]
@ -620,6 +632,29 @@ pub mod scheduler_client {
.insert(GrpcMethod::new("scheduler.v2.Scheduler", "StatTask"));
self.inner.unary(req, path, codec).await
}
/// LeaveTask releases task in scheduler.
pub async fn leave_task(
&mut self,
request: impl tonic::IntoRequest<super::LeaveTaskRequest>,
) -> std::result::Result<tonic::Response<()>, tonic::Status> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::new(
tonic::Code::Unknown,
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/scheduler.v2.Scheduler/LeaveTask",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("scheduler.v2.Scheduler", "LeaveTask"));
self.inner.unary(req, path, codec).await
}
/// AnnounceHost announces host to scheduler.
pub async fn announce_host(
&mut self,
@ -745,6 +780,11 @@ pub mod scheduler_server {
tonic::Response<super::super::super::common::v2::Task>,
tonic::Status,
>;
/// LeaveTask releases task in scheduler.
async fn leave_task(
&self,
request: tonic::Request<super::LeaveTaskRequest>,
) -> std::result::Result<tonic::Response<()>, tonic::Status>;
/// AnnounceHost announces host to scheduler.
async fn announce_host(
&self,
@ -1074,6 +1114,50 @@ pub mod scheduler_server {
};
Box::pin(fut)
}
"/scheduler.v2.Scheduler/LeaveTask" => {
#[allow(non_camel_case_types)]
struct LeaveTaskSvc<T: Scheduler>(pub Arc<T>);
impl<
T: Scheduler,
> tonic::server::UnaryService<super::LeaveTaskRequest>
for LeaveTaskSvc<T> {
type Response = ();
type Future = BoxFuture<
tonic::Response<Self::Response>,
tonic::Status,
>;
fn call(
&mut self,
request: tonic::Request<super::LeaveTaskRequest>,
) -> Self::Future {
let inner = Arc::clone(&self.0);
let fut = async move { (*inner).leave_task(request).await };
Box::pin(fut)
}
}
let accept_compression_encodings = self.accept_compression_encodings;
let send_compression_encodings = self.send_compression_encodings;
let max_decoding_message_size = self.max_decoding_message_size;
let max_encoding_message_size = self.max_encoding_message_size;
let inner = self.inner.clone();
let fut = async move {
let inner = inner.0;
let method = LeaveTaskSvc(inner);
let codec = tonic::codec::ProstCodec::default();
let mut grpc = tonic::server::Grpc::new(codec)
.apply_compression_config(
accept_compression_encodings,
send_compression_encodings,
)
.apply_max_message_size_config(
max_decoding_message_size,
max_encoding_message_size,
);
let res = grpc.unary(method, req).await;
Ok(res)
};
Box::pin(fut)
}
"/scheduler.v2.Scheduler/AnnounceHost" => {
#[allow(non_camel_case_types)]
struct AnnounceHostSvc<T: Scheduler>(pub Arc<T>);