From 7431d58884aa27634aecc1e7e06f6fe712e77283 Mon Sep 17 00:00:00 2001 From: Chongzhi Deng <57183262+BruceAko@users.noreply.github.com> Date: Fri, 28 Jun 2024 18:42:37 +0800 Subject: [PATCH] feat: add interval field to AnnounceHostRequest (#330) Signed-off-by: BruceAko --- Cargo.lock | 2 +- Cargo.toml | 2 +- pkg/apis/scheduler/v2/scheduler.pb.go | 764 +++++++++--------- .../scheduler/v2/scheduler.pb.validate.go | 33 + pkg/apis/scheduler/v2/scheduler.proto | 2 + pkg/apis/scheduler/v2/scheduler_grpc.pb.go | 126 ++- proto/scheduler.proto | 2 + src/descriptor.bin | Bin 91823 -> 92666 bytes src/scheduler.v2.rs | 3 + 9 files changed, 521 insertions(+), 413 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bc9c367..6d41cba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -160,7 +160,7 @@ dependencies = [ [[package]] name = "dragonfly-api" -version = "2.0.124" +version = "2.0.125" dependencies = [ "prost 0.11.9", "prost-types 0.12.6", diff --git a/Cargo.toml b/Cargo.toml index f3bc44c..873fc92 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dragonfly-api" -version = "2.0.124" +version = "2.0.125" authors = ["Gaius "] edition = "2021" license = "Apache-2.0" diff --git a/pkg/apis/scheduler/v2/scheduler.pb.go b/pkg/apis/scheduler/v2/scheduler.pb.go index 2ab7e65..9fb8c4e 100644 --- a/pkg/apis/scheduler/v2/scheduler.pb.go +++ b/pkg/apis/scheduler/v2/scheduler.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.6 +// protoc-gen-go v1.34.1 +// protoc v5.27.0 // source: pkg/apis/scheduler/v2/scheduler.proto package scheduler @@ -1425,6 +1425,8 @@ type AnnounceHostRequest struct { // Host info. Host *v2.Host `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"` + // The interval between dfdaemon announces to scheduler. + Interval *durationpb.Duration `protobuf:"bytes,2,opt,name=interval,proto3,oneof" json:"interval,omitempty"` } func (x *AnnounceHostRequest) Reset() { @@ -1466,6 +1468,13 @@ func (x *AnnounceHostRequest) GetHost() *v2.Host { return nil } +func (x *AnnounceHostRequest) GetInterval() *durationpb.Duration { + if x != nil { + return x.Interval + } + return nil +} + // DeleteHostRequest represents request of DeleteHost. type DeleteHostRequest struct { state protoimpl.MessageState @@ -3203,325 +3212,330 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{ 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, 0x35, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, - 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 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, 0x22, 0xd0, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x32, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, + 0x01, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x22, 0x35, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x22, 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, 0x22, + 0xd0, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, + 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, + 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x0b, 0x70, + 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x02, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, + 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x20, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x63, 0x0a, 0x1e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, + 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x07, 0x0a, 0x18, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, + 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x67, 0x0a, 0x1b, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x7d, 0x0a, 0x23, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1f, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x6d, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x48, 0x00, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x80, + 0x01, 0x0a, 0x24, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, + 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, + 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, + 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x7a, 0x0a, 0x22, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1e, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, + 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, + 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, + 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, + 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, + 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, + 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, + 0x01, 0x22, 0x18, 0x0a, 0x16, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, + 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x17, 0x4e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, + 0x01, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x6e, 0x6f, 0x72, + 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, + 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x7c, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, + 0x72, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, + 0x72, 0x49, 0x64, 0x22, 0xc8, 0x03, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x18, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, + 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, + 0x32, 0x02, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0xfa, 0x42, 0x0d, 0xaa, 0x01, + 0x0a, 0x22, 0x04, 0x08, 0x80, 0xf5, 0x24, 0x32, 0x02, 0x08, 0x3c, 0x52, 0x03, 0x74, 0x74, 0x6c, + 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, + 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x38, + 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 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, 0x22, 0x5c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, - 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, - 0x02, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x1a, - 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, - 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x11, 0x63, 0x61, - 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x10, 0x63, 0x61, 0x6e, - 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x43, 0x0a, 0x20, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x63, 0x0a, 0x1e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, - 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xca, 0x07, 0x0a, 0x18, 0x41, - 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, - 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, - 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x67, 0x0a, - 0x1b, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, - 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, - 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x18, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x23, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x00, 0x52, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x24, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7a, 0x0a, 0x22, 0x64, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x66, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x1e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1c, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x1d, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1a, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x18, 0x0a, 0x16, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x66, 0x0a, 0x17, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x11, - 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x42, 0x08, 0xfa, - 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xdf, 0x01, 0x0a, 0x19, 0x41, 0x6e, - 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x11, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x59, 0x0a, 0x14, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x72, - 0x6d, 0x61, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0f, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0x7c, 0x0a, 0x14, 0x53, - 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, - 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x16, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, - 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, - 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, - 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc8, 0x03, 0x0a, 0x16, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, - 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x41, 0x0a, 0x18, 0x70, 0x65, - 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x16, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x0a, - 0x03, 0x74, 0x61, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, - 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, - 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, - 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x10, 0xfa, 0x42, 0x0d, 0xaa, 0x01, 0x0a, 0x22, 0x04, 0x08, 0x80, 0xf5, 0x24, 0x32, 0x02, 0x08, - 0x3c, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x38, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x22, 0x38, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 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, 0x22, 0x5c, - 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, - 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, - 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x32, 0xc4, 0x08, 0x0a, - 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e, - 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, - 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, - 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, - 0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, - 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, - 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, - 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x41, - 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, - 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 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, 0x68, 0x0a, 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, - 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x0d, - 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x22, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x12, 0x4f, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, + 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x32, 0xc4, 0x08, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, + 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, + 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x45, + 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x1f, + 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 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, 0x68, 0x0a, 0x11, + 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, + 0x72, 0x12, 0x26, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, + 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x49, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, + 0x72, 0x12, 0x4f, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x12, 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 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, + 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x12, 0x49, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, + 0x73, 0x6b, 0x12, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, + 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4f, 0x0a, 0x0f, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x24, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 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 ( @@ -3617,64 +3631,65 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{ 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 48, // 21: scheduler.v2.AnnounceHostRequest.host:type_name -> common.v2.Host - 48, // 22: scheduler.v2.Probe.host:type_name -> common.v2.Host - 49, // 23: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration - 50, // 24: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp - 24, // 25: scheduler.v2.ProbeFinishedRequest.probes:type_name -> scheduler.v2.Probe - 48, // 26: scheduler.v2.FailedProbe.host:type_name -> common.v2.Host - 26, // 27: scheduler.v2.ProbeFailedRequest.probes:type_name -> scheduler.v2.FailedProbe - 48, // 28: scheduler.v2.SyncProbesRequest.host:type_name -> common.v2.Host - 23, // 29: scheduler.v2.SyncProbesRequest.probe_started_request:type_name -> scheduler.v2.ProbeStartedRequest - 25, // 30: scheduler.v2.SyncProbesRequest.probe_finished_request:type_name -> scheduler.v2.ProbeFinishedRequest - 27, // 31: scheduler.v2.SyncProbesRequest.probe_failed_request:type_name -> scheduler.v2.ProbeFailedRequest - 48, // 32: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host - 49, // 33: scheduler.v2.RegisterCachePeerRequest.timeout:type_name -> google.protobuf.Duration - 51, // 34: scheduler.v2.RescheduleCachePeerRequest.candidate_parents:type_name -> common.v2.CachePeer - 30, // 35: scheduler.v2.AnnounceCachePeerRequest.register_cache_peer_request:type_name -> scheduler.v2.RegisterCachePeerRequest - 31, // 36: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_started_request:type_name -> scheduler.v2.DownloadCachePeerStartedRequest - 32, // 37: scheduler.v2.AnnounceCachePeerRequest.reschedule_cache_peer_request:type_name -> scheduler.v2.RescheduleCachePeerRequest - 33, // 38: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_finished_request:type_name -> scheduler.v2.DownloadCachePeerFinishedRequest - 34, // 39: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_failed_request:type_name -> scheduler.v2.DownloadCachePeerFailedRequest - 8, // 40: scheduler.v2.AnnounceCachePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest - 10, // 41: scheduler.v2.AnnounceCachePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest - 51, // 42: scheduler.v2.NormalCacheTaskResponse.candidate_parents:type_name -> common.v2.CachePeer - 36, // 43: scheduler.v2.AnnounceCachePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyCacheTaskResponse - 37, // 44: scheduler.v2.AnnounceCachePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalCacheTaskResponse - 49, // 45: scheduler.v2.UploadCacheTaskRequest.ttl:type_name -> google.protobuf.Duration - 49, // 46: scheduler.v2.UploadCacheTaskRequest.timeout:type_name -> google.protobuf.Duration - 12, // 47: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest - 17, // 48: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest - 18, // 49: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest - 19, // 50: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest - 20, // 51: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest - 21, // 52: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest - 22, // 53: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest - 28, // 54: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest - 35, // 55: scheduler.v2.Scheduler.AnnounceCachePeer:input_type -> scheduler.v2.AnnounceCachePeerRequest - 39, // 56: scheduler.v2.Scheduler.StatCachePeer:input_type -> scheduler.v2.StatCachePeerRequest - 40, // 57: scheduler.v2.Scheduler.DeleteCachePeer:input_type -> scheduler.v2.DeleteCachePeerRequest - 41, // 58: scheduler.v2.Scheduler.UploadCacheTask:input_type -> scheduler.v2.UploadCacheTaskRequest - 42, // 59: scheduler.v2.Scheduler.StatCacheTask:input_type -> scheduler.v2.StatCacheTaskRequest - 43, // 60: scheduler.v2.Scheduler.DeleteCacheTask:input_type -> scheduler.v2.DeleteCacheTaskRequest - 16, // 61: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse - 45, // 62: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer - 52, // 63: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty - 53, // 64: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task - 52, // 65: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty - 52, // 66: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty - 52, // 67: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty - 29, // 68: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse - 38, // 69: scheduler.v2.Scheduler.AnnounceCachePeer:output_type -> scheduler.v2.AnnounceCachePeerResponse - 51, // 70: scheduler.v2.Scheduler.StatCachePeer:output_type -> common.v2.CachePeer - 52, // 71: scheduler.v2.Scheduler.DeleteCachePeer:output_type -> google.protobuf.Empty - 54, // 72: scheduler.v2.Scheduler.UploadCacheTask:output_type -> common.v2.CacheTask - 54, // 73: scheduler.v2.Scheduler.StatCacheTask:output_type -> common.v2.CacheTask - 52, // 74: scheduler.v2.Scheduler.DeleteCacheTask:output_type -> google.protobuf.Empty - 61, // [61:75] is the sub-list for method output_type - 47, // [47:61] is the sub-list for method input_type - 47, // [47:47] is the sub-list for extension type_name - 47, // [47:47] is the sub-list for extension extendee - 0, // [0:47] is the sub-list for field type_name + 49, // 22: scheduler.v2.AnnounceHostRequest.interval:type_name -> google.protobuf.Duration + 48, // 23: scheduler.v2.Probe.host:type_name -> common.v2.Host + 49, // 24: scheduler.v2.Probe.rtt:type_name -> google.protobuf.Duration + 50, // 25: scheduler.v2.Probe.created_at:type_name -> google.protobuf.Timestamp + 24, // 26: scheduler.v2.ProbeFinishedRequest.probes:type_name -> scheduler.v2.Probe + 48, // 27: scheduler.v2.FailedProbe.host:type_name -> common.v2.Host + 26, // 28: scheduler.v2.ProbeFailedRequest.probes:type_name -> scheduler.v2.FailedProbe + 48, // 29: scheduler.v2.SyncProbesRequest.host:type_name -> common.v2.Host + 23, // 30: scheduler.v2.SyncProbesRequest.probe_started_request:type_name -> scheduler.v2.ProbeStartedRequest + 25, // 31: scheduler.v2.SyncProbesRequest.probe_finished_request:type_name -> scheduler.v2.ProbeFinishedRequest + 27, // 32: scheduler.v2.SyncProbesRequest.probe_failed_request:type_name -> scheduler.v2.ProbeFailedRequest + 48, // 33: scheduler.v2.SyncProbesResponse.hosts:type_name -> common.v2.Host + 49, // 34: scheduler.v2.RegisterCachePeerRequest.timeout:type_name -> google.protobuf.Duration + 51, // 35: scheduler.v2.RescheduleCachePeerRequest.candidate_parents:type_name -> common.v2.CachePeer + 30, // 36: scheduler.v2.AnnounceCachePeerRequest.register_cache_peer_request:type_name -> scheduler.v2.RegisterCachePeerRequest + 31, // 37: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_started_request:type_name -> scheduler.v2.DownloadCachePeerStartedRequest + 32, // 38: scheduler.v2.AnnounceCachePeerRequest.reschedule_cache_peer_request:type_name -> scheduler.v2.RescheduleCachePeerRequest + 33, // 39: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_finished_request:type_name -> scheduler.v2.DownloadCachePeerFinishedRequest + 34, // 40: scheduler.v2.AnnounceCachePeerRequest.download_cache_peer_failed_request:type_name -> scheduler.v2.DownloadCachePeerFailedRequest + 8, // 41: scheduler.v2.AnnounceCachePeerRequest.download_piece_finished_request:type_name -> scheduler.v2.DownloadPieceFinishedRequest + 10, // 42: scheduler.v2.AnnounceCachePeerRequest.download_piece_failed_request:type_name -> scheduler.v2.DownloadPieceFailedRequest + 51, // 43: scheduler.v2.NormalCacheTaskResponse.candidate_parents:type_name -> common.v2.CachePeer + 36, // 44: scheduler.v2.AnnounceCachePeerResponse.empty_task_response:type_name -> scheduler.v2.EmptyCacheTaskResponse + 37, // 45: scheduler.v2.AnnounceCachePeerResponse.normal_task_response:type_name -> scheduler.v2.NormalCacheTaskResponse + 49, // 46: scheduler.v2.UploadCacheTaskRequest.ttl:type_name -> google.protobuf.Duration + 49, // 47: scheduler.v2.UploadCacheTaskRequest.timeout:type_name -> google.protobuf.Duration + 12, // 48: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest + 17, // 49: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest + 18, // 50: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest + 19, // 51: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest + 20, // 52: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest + 21, // 53: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest + 22, // 54: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest + 28, // 55: scheduler.v2.Scheduler.SyncProbes:input_type -> scheduler.v2.SyncProbesRequest + 35, // 56: scheduler.v2.Scheduler.AnnounceCachePeer:input_type -> scheduler.v2.AnnounceCachePeerRequest + 39, // 57: scheduler.v2.Scheduler.StatCachePeer:input_type -> scheduler.v2.StatCachePeerRequest + 40, // 58: scheduler.v2.Scheduler.DeleteCachePeer:input_type -> scheduler.v2.DeleteCachePeerRequest + 41, // 59: scheduler.v2.Scheduler.UploadCacheTask:input_type -> scheduler.v2.UploadCacheTaskRequest + 42, // 60: scheduler.v2.Scheduler.StatCacheTask:input_type -> scheduler.v2.StatCacheTaskRequest + 43, // 61: scheduler.v2.Scheduler.DeleteCacheTask:input_type -> scheduler.v2.DeleteCacheTaskRequest + 16, // 62: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse + 45, // 63: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer + 52, // 64: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty + 53, // 65: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task + 52, // 66: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty + 52, // 67: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty + 52, // 68: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty + 29, // 69: scheduler.v2.Scheduler.SyncProbes:output_type -> scheduler.v2.SyncProbesResponse + 38, // 70: scheduler.v2.Scheduler.AnnounceCachePeer:output_type -> scheduler.v2.AnnounceCachePeerResponse + 51, // 71: scheduler.v2.Scheduler.StatCachePeer:output_type -> common.v2.CachePeer + 52, // 72: scheduler.v2.Scheduler.DeleteCachePeer:output_type -> google.protobuf.Empty + 54, // 73: scheduler.v2.Scheduler.UploadCacheTask:output_type -> common.v2.CacheTask + 54, // 74: scheduler.v2.Scheduler.StatCacheTask:output_type -> common.v2.CacheTask + 52, // 75: scheduler.v2.Scheduler.DeleteCacheTask:output_type -> google.protobuf.Empty + 62, // [62:76] is the sub-list for method output_type + 48, // [48:62] is the sub-list for method input_type + 48, // [48:48] is the sub-list for extension type_name + 48, // [48:48] is the sub-list for extension extendee + 0, // [0:48] is the sub-list for field type_name } func init() { file_pkg_apis_scheduler_v2_scheduler_proto_init() } @@ -4240,6 +4255,7 @@ func file_pkg_apis_scheduler_v2_scheduler_proto_init() { (*AnnouncePeerResponse_NormalTaskResponse)(nil), (*AnnouncePeerResponse_NeedBackToSourceResponse)(nil), } + file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[21].OneofWrappers = []interface{}{} file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[26].OneofWrappers = []interface{}{} file_pkg_apis_scheduler_v2_scheduler_proto_msgTypes[28].OneofWrappers = []interface{}{ (*SyncProbesRequest_ProbeStartedRequest)(nil), diff --git a/pkg/apis/scheduler/v2/scheduler.pb.validate.go b/pkg/apis/scheduler/v2/scheduler.pb.validate.go index 4ecf7d6..64ac076 100644 --- a/pkg/apis/scheduler/v2/scheduler.pb.validate.go +++ b/pkg/apis/scheduler/v2/scheduler.pb.validate.go @@ -3431,6 +3431,39 @@ func (m *AnnounceHostRequest) validate(all bool) error { } } + if m.Interval != nil { + + if all { + switch v := interface{}(m.GetInterval()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, AnnounceHostRequestValidationError{ + field: "Interval", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, AnnounceHostRequestValidationError{ + field: "Interval", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetInterval()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return AnnounceHostRequestValidationError{ + field: "Interval", + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + if len(errors) > 0 { return AnnounceHostRequestMultiError(errors) } diff --git a/pkg/apis/scheduler/v2/scheduler.proto b/pkg/apis/scheduler/v2/scheduler.proto index 4f6ea16..4cf78b4 100644 --- a/pkg/apis/scheduler/v2/scheduler.proto +++ b/pkg/apis/scheduler/v2/scheduler.proto @@ -206,6 +206,8 @@ message DeleteTaskRequest { message AnnounceHostRequest { // Host info. common.v2.Host host = 1 [(validate.rules).message.required = true]; + // The interval between dfdaemon announces to scheduler. + optional google.protobuf.Duration interval = 2; } // DeleteHostRequest represents request of DeleteHost. diff --git a/pkg/apis/scheduler/v2/scheduler_grpc.pb.go b/pkg/apis/scheduler/v2/scheduler_grpc.pb.go index 70a8df0..e77e43d 100644 --- a/pkg/apis/scheduler/v2/scheduler_grpc.pb.go +++ b/pkg/apis/scheduler/v2/scheduler_grpc.pb.go @@ -1,7 +1,22 @@ +// +// 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-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.6 +// - protoc-gen-go-grpc v1.4.0 +// - protoc v5.27.0 // source: pkg/apis/scheduler/v2/scheduler.proto package scheduler @@ -17,12 +32,31 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.62.0 or later. +const _ = grpc.SupportPackageIsVersion8 + +const ( + Scheduler_AnnouncePeer_FullMethodName = "/scheduler.v2.Scheduler/AnnouncePeer" + Scheduler_StatPeer_FullMethodName = "/scheduler.v2.Scheduler/StatPeer" + Scheduler_DeletePeer_FullMethodName = "/scheduler.v2.Scheduler/DeletePeer" + Scheduler_StatTask_FullMethodName = "/scheduler.v2.Scheduler/StatTask" + Scheduler_DeleteTask_FullMethodName = "/scheduler.v2.Scheduler/DeleteTask" + Scheduler_AnnounceHost_FullMethodName = "/scheduler.v2.Scheduler/AnnounceHost" + Scheduler_DeleteHost_FullMethodName = "/scheduler.v2.Scheduler/DeleteHost" + Scheduler_SyncProbes_FullMethodName = "/scheduler.v2.Scheduler/SyncProbes" + Scheduler_AnnounceCachePeer_FullMethodName = "/scheduler.v2.Scheduler/AnnounceCachePeer" + Scheduler_StatCachePeer_FullMethodName = "/scheduler.v2.Scheduler/StatCachePeer" + Scheduler_DeleteCachePeer_FullMethodName = "/scheduler.v2.Scheduler/DeleteCachePeer" + Scheduler_UploadCacheTask_FullMethodName = "/scheduler.v2.Scheduler/UploadCacheTask" + Scheduler_StatCacheTask_FullMethodName = "/scheduler.v2.Scheduler/StatCacheTask" + Scheduler_DeleteCacheTask_FullMethodName = "/scheduler.v2.Scheduler/DeleteCacheTask" +) // SchedulerClient is the client API for Scheduler service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// Scheduler RPC Service. type SchedulerClient interface { // AnnouncePeer announces peer to scheduler. AnnouncePeer(ctx context.Context, opts ...grpc.CallOption) (Scheduler_AnnouncePeerClient, error) @@ -63,11 +97,12 @@ func NewSchedulerClient(cc grpc.ClientConnInterface) SchedulerClient { } func (c *schedulerClient) AnnouncePeer(ctx context.Context, opts ...grpc.CallOption) (Scheduler_AnnouncePeerClient, error) { - stream, err := c.cc.NewStream(ctx, &Scheduler_ServiceDesc.Streams[0], "/scheduler.v2.Scheduler/AnnouncePeer", opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Scheduler_ServiceDesc.Streams[0], Scheduler_AnnouncePeer_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &schedulerAnnouncePeerClient{stream} + x := &schedulerAnnouncePeerClient{ClientStream: stream} return x, nil } @@ -94,8 +129,9 @@ func (x *schedulerAnnouncePeerClient) Recv() (*AnnouncePeerResponse, error) { } func (c *schedulerClient) StatPeer(ctx context.Context, in *StatPeerRequest, opts ...grpc.CallOption) (*v2.Peer, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(v2.Peer) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/StatPeer", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_StatPeer_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -103,8 +139,9 @@ func (c *schedulerClient) StatPeer(ctx context.Context, in *StatPeerRequest, opt } func (c *schedulerClient) DeletePeer(ctx context.Context, in *DeletePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/DeletePeer", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_DeletePeer_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -112,8 +149,9 @@ func (c *schedulerClient) DeletePeer(ctx context.Context, in *DeletePeerRequest, } func (c *schedulerClient) StatTask(ctx context.Context, in *StatTaskRequest, opts ...grpc.CallOption) (*v2.Task, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(v2.Task) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/StatTask", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_StatTask_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -121,8 +159,9 @@ func (c *schedulerClient) StatTask(ctx context.Context, in *StatTaskRequest, opt } func (c *schedulerClient) DeleteTask(ctx context.Context, in *DeleteTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/DeleteTask", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_DeleteTask_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -130,8 +169,9 @@ func (c *schedulerClient) DeleteTask(ctx context.Context, in *DeleteTaskRequest, } func (c *schedulerClient) AnnounceHost(ctx context.Context, in *AnnounceHostRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/AnnounceHost", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_AnnounceHost_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -139,8 +179,9 @@ func (c *schedulerClient) AnnounceHost(ctx context.Context, in *AnnounceHostRequ } func (c *schedulerClient) DeleteHost(ctx context.Context, in *DeleteHostRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/DeleteHost", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_DeleteHost_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -148,11 +189,12 @@ func (c *schedulerClient) DeleteHost(ctx context.Context, in *DeleteHostRequest, } func (c *schedulerClient) SyncProbes(ctx context.Context, opts ...grpc.CallOption) (Scheduler_SyncProbesClient, error) { - stream, err := c.cc.NewStream(ctx, &Scheduler_ServiceDesc.Streams[1], "/scheduler.v2.Scheduler/SyncProbes", opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Scheduler_ServiceDesc.Streams[1], Scheduler_SyncProbes_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &schedulerSyncProbesClient{stream} + x := &schedulerSyncProbesClient{ClientStream: stream} return x, nil } @@ -179,11 +221,12 @@ func (x *schedulerSyncProbesClient) Recv() (*SyncProbesResponse, error) { } func (c *schedulerClient) AnnounceCachePeer(ctx context.Context, opts ...grpc.CallOption) (Scheduler_AnnounceCachePeerClient, error) { - stream, err := c.cc.NewStream(ctx, &Scheduler_ServiceDesc.Streams[2], "/scheduler.v2.Scheduler/AnnounceCachePeer", opts...) + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &Scheduler_ServiceDesc.Streams[2], Scheduler_AnnounceCachePeer_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &schedulerAnnounceCachePeerClient{stream} + x := &schedulerAnnounceCachePeerClient{ClientStream: stream} return x, nil } @@ -210,8 +253,9 @@ func (x *schedulerAnnounceCachePeerClient) Recv() (*AnnounceCachePeerResponse, e } func (c *schedulerClient) StatCachePeer(ctx context.Context, in *StatCachePeerRequest, opts ...grpc.CallOption) (*v2.CachePeer, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(v2.CachePeer) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/StatCachePeer", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_StatCachePeer_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -219,8 +263,9 @@ func (c *schedulerClient) StatCachePeer(ctx context.Context, in *StatCachePeerRe } func (c *schedulerClient) DeleteCachePeer(ctx context.Context, in *DeleteCachePeerRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/DeleteCachePeer", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_DeleteCachePeer_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -228,8 +273,9 @@ func (c *schedulerClient) DeleteCachePeer(ctx context.Context, in *DeleteCachePe } func (c *schedulerClient) UploadCacheTask(ctx context.Context, in *UploadCacheTaskRequest, opts ...grpc.CallOption) (*v2.CacheTask, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(v2.CacheTask) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/UploadCacheTask", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_UploadCacheTask_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -237,8 +283,9 @@ func (c *schedulerClient) UploadCacheTask(ctx context.Context, in *UploadCacheTa } func (c *schedulerClient) StatCacheTask(ctx context.Context, in *StatCacheTaskRequest, opts ...grpc.CallOption) (*v2.CacheTask, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(v2.CacheTask) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/StatCacheTask", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_StatCacheTask_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -246,8 +293,9 @@ func (c *schedulerClient) StatCacheTask(ctx context.Context, in *StatCacheTaskRe } func (c *schedulerClient) DeleteCacheTask(ctx context.Context, in *DeleteCacheTaskRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(emptypb.Empty) - err := c.cc.Invoke(ctx, "/scheduler.v2.Scheduler/DeleteCacheTask", in, out, opts...) + err := c.cc.Invoke(ctx, Scheduler_DeleteCacheTask_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -255,8 +303,10 @@ func (c *schedulerClient) DeleteCacheTask(ctx context.Context, in *DeleteCacheTa } // SchedulerServer is the server API for Scheduler service. -// All implementations should embed UnimplementedSchedulerServer +// All implementations must embed UnimplementedSchedulerServer // for forward compatibility +// +// Scheduler RPC Service. type SchedulerServer interface { // AnnouncePeer announces peer to scheduler. AnnouncePeer(Scheduler_AnnouncePeerServer) error @@ -286,9 +336,10 @@ type SchedulerServer interface { StatCacheTask(context.Context, *StatCacheTaskRequest) (*v2.CacheTask, error) // DeleteCacheTask releases cache task in scheduler. DeleteCacheTask(context.Context, *DeleteCacheTaskRequest) (*emptypb.Empty, error) + mustEmbedUnimplementedSchedulerServer() } -// UnimplementedSchedulerServer should be embedded to have forward compatible implementations. +// UnimplementedSchedulerServer must be embedded to have forward compatible implementations. type UnimplementedSchedulerServer struct { } @@ -334,6 +385,7 @@ func (UnimplementedSchedulerServer) StatCacheTask(context.Context, *StatCacheTas func (UnimplementedSchedulerServer) DeleteCacheTask(context.Context, *DeleteCacheTaskRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteCacheTask not implemented") } +func (UnimplementedSchedulerServer) mustEmbedUnimplementedSchedulerServer() {} // UnsafeSchedulerServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to SchedulerServer will @@ -347,7 +399,7 @@ func RegisterSchedulerServer(s grpc.ServiceRegistrar, srv SchedulerServer) { } func _Scheduler_AnnouncePeer_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SchedulerServer).AnnouncePeer(&schedulerAnnouncePeerServer{stream}) + return srv.(SchedulerServer).AnnouncePeer(&schedulerAnnouncePeerServer{ServerStream: stream}) } type Scheduler_AnnouncePeerServer interface { @@ -382,7 +434,7 @@ func _Scheduler_StatPeer_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/StatPeer", + FullMethod: Scheduler_StatPeer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).StatPeer(ctx, req.(*StatPeerRequest)) @@ -400,7 +452,7 @@ func _Scheduler_DeletePeer_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/DeletePeer", + FullMethod: Scheduler_DeletePeer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).DeletePeer(ctx, req.(*DeletePeerRequest)) @@ -418,7 +470,7 @@ func _Scheduler_StatTask_Handler(srv interface{}, ctx context.Context, dec func( } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/StatTask", + FullMethod: Scheduler_StatTask_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).StatTask(ctx, req.(*StatTaskRequest)) @@ -436,7 +488,7 @@ func _Scheduler_DeleteTask_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/DeleteTask", + FullMethod: Scheduler_DeleteTask_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).DeleteTask(ctx, req.(*DeleteTaskRequest)) @@ -454,7 +506,7 @@ func _Scheduler_AnnounceHost_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/AnnounceHost", + FullMethod: Scheduler_AnnounceHost_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).AnnounceHost(ctx, req.(*AnnounceHostRequest)) @@ -472,7 +524,7 @@ func _Scheduler_DeleteHost_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/DeleteHost", + FullMethod: Scheduler_DeleteHost_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).DeleteHost(ctx, req.(*DeleteHostRequest)) @@ -481,7 +533,7 @@ func _Scheduler_DeleteHost_Handler(srv interface{}, ctx context.Context, dec fun } func _Scheduler_SyncProbes_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SchedulerServer).SyncProbes(&schedulerSyncProbesServer{stream}) + return srv.(SchedulerServer).SyncProbes(&schedulerSyncProbesServer{ServerStream: stream}) } type Scheduler_SyncProbesServer interface { @@ -507,7 +559,7 @@ func (x *schedulerSyncProbesServer) Recv() (*SyncProbesRequest, error) { } func _Scheduler_AnnounceCachePeer_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(SchedulerServer).AnnounceCachePeer(&schedulerAnnounceCachePeerServer{stream}) + return srv.(SchedulerServer).AnnounceCachePeer(&schedulerAnnounceCachePeerServer{ServerStream: stream}) } type Scheduler_AnnounceCachePeerServer interface { @@ -542,7 +594,7 @@ func _Scheduler_StatCachePeer_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/StatCachePeer", + FullMethod: Scheduler_StatCachePeer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).StatCachePeer(ctx, req.(*StatCachePeerRequest)) @@ -560,7 +612,7 @@ func _Scheduler_DeleteCachePeer_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/DeleteCachePeer", + FullMethod: Scheduler_DeleteCachePeer_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).DeleteCachePeer(ctx, req.(*DeleteCachePeerRequest)) @@ -578,7 +630,7 @@ func _Scheduler_UploadCacheTask_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/UploadCacheTask", + FullMethod: Scheduler_UploadCacheTask_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).UploadCacheTask(ctx, req.(*UploadCacheTaskRequest)) @@ -596,7 +648,7 @@ func _Scheduler_StatCacheTask_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/StatCacheTask", + FullMethod: Scheduler_StatCacheTask_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).StatCacheTask(ctx, req.(*StatCacheTaskRequest)) @@ -614,7 +666,7 @@ func _Scheduler_DeleteCacheTask_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/scheduler.v2.Scheduler/DeleteCacheTask", + FullMethod: Scheduler_DeleteCacheTask_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(SchedulerServer).DeleteCacheTask(ctx, req.(*DeleteCacheTaskRequest)) diff --git a/proto/scheduler.proto b/proto/scheduler.proto index fc47262..e189029 100644 --- a/proto/scheduler.proto +++ b/proto/scheduler.proto @@ -196,6 +196,8 @@ message DeleteTaskRequest { message AnnounceHostRequest { // Host information. common.v2.Host host = 1; + // The interval between dfdaemon announces to scheduler. + optional google.protobuf.Duration interval = 2; } // DeleteHostRequest represents request of DeleteHost. diff --git a/src/descriptor.bin b/src/descriptor.bin index c2a03dad652427a1233eb22878f3ffddd8ba01bf..1084a34d757462c3d2efc090954777704bef3da5 100644 GIT binary patch delta 23073 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 z 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 Lz*?NYKKlOv>+qI6 diff --git a/src/scheduler.v2.rs b/src/scheduler.v2.rs index a2c5d8d..aaab36c 100644 --- a/src/scheduler.v2.rs +++ b/src/scheduler.v2.rs @@ -300,6 +300,9 @@ pub struct AnnounceHostRequest { /// Host information. #[prost(message, optional, tag = "1")] pub host: ::core::option::Option, + /// The interval between dfdaemon announces to scheduler. + #[prost(message, optional, tag = "2")] + pub interval: ::core::option::Option<::prost_wkt_types::Duration>, } /// DeleteHostRequest represents request of DeleteHost. #[derive(serde::Serialize, serde::Deserialize)]