From 8cbd5239ad0e500ae6e13e181cc201b97d16159a Mon Sep 17 00:00:00 2001 From: Gaius Date: Wed, 30 Oct 2024 11:08:27 +0800 Subject: [PATCH] feat: add task info for UploadPersistentCacheTaskStarted (#408) Signed-off-by: Gaius --- Cargo.lock | 2 +- Cargo.toml | 2 +- pkg/apis/cdnsystem/v1/mocks/cdnsystem_mock.go | 7 + pkg/apis/dfdaemon/v1/mocks/dfdaemon_mock.go | 9 + pkg/apis/dfdaemon/v2/mocks/dfdaemon_mock.go | 16 + pkg/apis/manager/v1/mocks/manager_mock.go | 5 + pkg/apis/manager/v2/mocks/manager_mock.go | 5 + pkg/apis/scheduler/v1/mocks/scheduler_mock.go | 5 + pkg/apis/scheduler/v2/mocks/scheduler_mock.go | 7 + pkg/apis/scheduler/v2/scheduler.pb.go | 400 ++++++++++-------- .../scheduler/v2/scheduler.pb.validate.go | 50 +-- pkg/apis/scheduler/v2/scheduler.proto | 16 +- proto/scheduler.proto | 16 +- src/descriptor.bin | Bin 94166 -> 94389 bytes src/scheduler.v2.rs | 20 +- 15 files changed, 320 insertions(+), 240 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index af4ff997..cc8ec6b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -190,7 +190,7 @@ dependencies = [ [[package]] name = "dragonfly-api" -version = "2.0.167" +version = "2.0.168" dependencies = [ "prost", "prost-types", diff --git a/Cargo.toml b/Cargo.toml index 2e27f5de..574db88a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dragonfly-api" -version = "2.0.167" +version = "2.0.168" authors = ["Gaius "] edition = "2021" license = "Apache-2.0" diff --git a/pkg/apis/cdnsystem/v1/mocks/cdnsystem_mock.go b/pkg/apis/cdnsystem/v1/mocks/cdnsystem_mock.go index 009346a8..ddbe5484 100644 --- a/pkg/apis/cdnsystem/v1/mocks/cdnsystem_mock.go +++ b/pkg/apis/cdnsystem/v1/mocks/cdnsystem_mock.go @@ -24,6 +24,7 @@ import ( type MockSeederClient struct { ctrl *gomock.Controller recorder *MockSeederClientMockRecorder + isgomock struct{} } // MockSeederClientMockRecorder is the mock recorder for MockSeederClient. @@ -107,6 +108,7 @@ func (mr *MockSeederClientMockRecorder) SyncPieceTasks(ctx any, opts ...any) *go type MockSeeder_ObtainSeedsClient struct { ctrl *gomock.Controller recorder *MockSeeder_ObtainSeedsClientMockRecorder + isgomock struct{} } // MockSeeder_ObtainSeedsClientMockRecorder is the mock recorder for MockSeeder_ObtainSeedsClient. @@ -230,6 +232,7 @@ func (mr *MockSeeder_ObtainSeedsClientMockRecorder) Trailer() *gomock.Call { type MockSeeder_SyncPieceTasksClient struct { ctrl *gomock.Controller recorder *MockSeeder_SyncPieceTasksClientMockRecorder + isgomock struct{} } // MockSeeder_SyncPieceTasksClientMockRecorder is the mock recorder for MockSeeder_SyncPieceTasksClient. @@ -367,6 +370,7 @@ func (mr *MockSeeder_SyncPieceTasksClientMockRecorder) Trailer() *gomock.Call { type MockSeederServer struct { ctrl *gomock.Controller recorder *MockSeederServerMockRecorder + isgomock struct{} } // MockSeederServerMockRecorder is the mock recorder for MockSeederServer. @@ -433,6 +437,7 @@ func (mr *MockSeederServerMockRecorder) SyncPieceTasks(arg0 any) *gomock.Call { type MockUnsafeSeederServer struct { ctrl *gomock.Controller recorder *MockUnsafeSeederServerMockRecorder + isgomock struct{} } // MockUnsafeSeederServerMockRecorder is the mock recorder for MockUnsafeSeederServer. @@ -468,6 +473,7 @@ func (mr *MockUnsafeSeederServerMockRecorder) mustEmbedUnimplementedSeederServer type MockSeeder_ObtainSeedsServer struct { ctrl *gomock.Controller recorder *MockSeeder_ObtainSeedsServerMockRecorder + isgomock struct{} } // MockSeeder_ObtainSeedsServerMockRecorder is the mock recorder for MockSeeder_ObtainSeedsServer. @@ -587,6 +593,7 @@ func (mr *MockSeeder_ObtainSeedsServerMockRecorder) SetTrailer(arg0 any) *gomock type MockSeeder_SyncPieceTasksServer struct { ctrl *gomock.Controller recorder *MockSeeder_SyncPieceTasksServerMockRecorder + isgomock struct{} } // MockSeeder_SyncPieceTasksServerMockRecorder is the mock recorder for MockSeeder_SyncPieceTasksServer. diff --git a/pkg/apis/dfdaemon/v1/mocks/dfdaemon_mock.go b/pkg/apis/dfdaemon/v1/mocks/dfdaemon_mock.go index 38a6f3e5..7cc5e13f 100644 --- a/pkg/apis/dfdaemon/v1/mocks/dfdaemon_mock.go +++ b/pkg/apis/dfdaemon/v1/mocks/dfdaemon_mock.go @@ -25,6 +25,7 @@ import ( type MockDaemonClient struct { ctrl *gomock.Controller recorder *MockDaemonClientMockRecorder + isgomock struct{} } // MockDaemonClientMockRecorder is the mock recorder for MockDaemonClient. @@ -248,6 +249,7 @@ func (mr *MockDaemonClientMockRecorder) SyncPieceTasks(ctx any, opts ...any) *go type MockDaemon_DownloadClient struct { ctrl *gomock.Controller recorder *MockDaemon_DownloadClientMockRecorder + isgomock struct{} } // MockDaemon_DownloadClientMockRecorder is the mock recorder for MockDaemon_DownloadClient. @@ -371,6 +373,7 @@ func (mr *MockDaemon_DownloadClientMockRecorder) Trailer() *gomock.Call { type MockDaemon_SyncPieceTasksClient struct { ctrl *gomock.Controller recorder *MockDaemon_SyncPieceTasksClientMockRecorder + isgomock struct{} } // MockDaemon_SyncPieceTasksClientMockRecorder is the mock recorder for MockDaemon_SyncPieceTasksClient. @@ -508,6 +511,7 @@ func (mr *MockDaemon_SyncPieceTasksClientMockRecorder) Trailer() *gomock.Call { type MockDaemon_PeerExchangeClient struct { ctrl *gomock.Controller recorder *MockDaemon_PeerExchangeClientMockRecorder + isgomock struct{} } // MockDaemon_PeerExchangeClientMockRecorder is the mock recorder for MockDaemon_PeerExchangeClient. @@ -645,6 +649,7 @@ func (mr *MockDaemon_PeerExchangeClientMockRecorder) Trailer() *gomock.Call { type MockDaemonServer struct { ctrl *gomock.Controller recorder *MockDaemonServerMockRecorder + isgomock struct{} } // MockDaemonServerMockRecorder is the mock recorder for MockDaemonServer. @@ -815,6 +820,7 @@ func (mr *MockDaemonServerMockRecorder) SyncPieceTasks(arg0 any) *gomock.Call { type MockUnsafeDaemonServer struct { ctrl *gomock.Controller recorder *MockUnsafeDaemonServerMockRecorder + isgomock struct{} } // MockUnsafeDaemonServerMockRecorder is the mock recorder for MockUnsafeDaemonServer. @@ -850,6 +856,7 @@ func (mr *MockUnsafeDaemonServerMockRecorder) mustEmbedUnimplementedDaemonServer type MockDaemon_DownloadServer struct { ctrl *gomock.Controller recorder *MockDaemon_DownloadServerMockRecorder + isgomock struct{} } // MockDaemon_DownloadServerMockRecorder is the mock recorder for MockDaemon_DownloadServer. @@ -969,6 +976,7 @@ func (mr *MockDaemon_DownloadServerMockRecorder) SetTrailer(arg0 any) *gomock.Ca type MockDaemon_SyncPieceTasksServer struct { ctrl *gomock.Controller recorder *MockDaemon_SyncPieceTasksServerMockRecorder + isgomock struct{} } // MockDaemon_SyncPieceTasksServerMockRecorder is the mock recorder for MockDaemon_SyncPieceTasksServer. @@ -1103,6 +1111,7 @@ func (mr *MockDaemon_SyncPieceTasksServerMockRecorder) SetTrailer(arg0 any) *gom type MockDaemon_PeerExchangeServer struct { ctrl *gomock.Controller recorder *MockDaemon_PeerExchangeServerMockRecorder + isgomock struct{} } // MockDaemon_PeerExchangeServerMockRecorder is the mock recorder for MockDaemon_PeerExchangeServer. diff --git a/pkg/apis/dfdaemon/v2/mocks/dfdaemon_mock.go b/pkg/apis/dfdaemon/v2/mocks/dfdaemon_mock.go index 3b75200e..f0bf651b 100644 --- a/pkg/apis/dfdaemon/v2/mocks/dfdaemon_mock.go +++ b/pkg/apis/dfdaemon/v2/mocks/dfdaemon_mock.go @@ -25,6 +25,7 @@ import ( type MockDfdaemonUploadClient struct { ctrl *gomock.Controller recorder *MockDfdaemonUploadClientMockRecorder + isgomock struct{} } // MockDfdaemonUploadClientMockRecorder is the mock recorder for MockDfdaemonUploadClient. @@ -208,6 +209,7 @@ func (mr *MockDfdaemonUploadClientMockRecorder) SyncPieces(ctx, in any, opts ... type MockDfdaemonUpload_DownloadTaskClient struct { ctrl *gomock.Controller recorder *MockDfdaemonUpload_DownloadTaskClientMockRecorder + isgomock struct{} } // MockDfdaemonUpload_DownloadTaskClientMockRecorder is the mock recorder for MockDfdaemonUpload_DownloadTaskClient. @@ -331,6 +333,7 @@ func (mr *MockDfdaemonUpload_DownloadTaskClientMockRecorder) Trailer() *gomock.C type MockDfdaemonUpload_SyncPiecesClient struct { ctrl *gomock.Controller recorder *MockDfdaemonUpload_SyncPiecesClientMockRecorder + isgomock struct{} } // MockDfdaemonUpload_SyncPiecesClientMockRecorder is the mock recorder for MockDfdaemonUpload_SyncPiecesClient. @@ -454,6 +457,7 @@ func (mr *MockDfdaemonUpload_SyncPiecesClientMockRecorder) Trailer() *gomock.Cal type MockDfdaemonUpload_DownloadPersistentCacheTaskClient struct { ctrl *gomock.Controller recorder *MockDfdaemonUpload_DownloadPersistentCacheTaskClientMockRecorder + isgomock struct{} } // MockDfdaemonUpload_DownloadPersistentCacheTaskClientMockRecorder is the mock recorder for MockDfdaemonUpload_DownloadPersistentCacheTaskClient. @@ -577,6 +581,7 @@ func (mr *MockDfdaemonUpload_DownloadPersistentCacheTaskClientMockRecorder) Trai type MockDfdaemonUploadServer struct { ctrl *gomock.Controller recorder *MockDfdaemonUploadServerMockRecorder + isgomock struct{} } // MockDfdaemonUploadServerMockRecorder is the mock recorder for MockDfdaemonUploadServer. @@ -717,6 +722,7 @@ func (mr *MockDfdaemonUploadServerMockRecorder) SyncPieces(arg0, arg1 any) *gomo type MockUnsafeDfdaemonUploadServer struct { ctrl *gomock.Controller recorder *MockUnsafeDfdaemonUploadServerMockRecorder + isgomock struct{} } // MockUnsafeDfdaemonUploadServerMockRecorder is the mock recorder for MockUnsafeDfdaemonUploadServer. @@ -752,6 +758,7 @@ func (mr *MockUnsafeDfdaemonUploadServerMockRecorder) mustEmbedUnimplementedDfda type MockDfdaemonUpload_DownloadTaskServer struct { ctrl *gomock.Controller recorder *MockDfdaemonUpload_DownloadTaskServerMockRecorder + isgomock struct{} } // MockDfdaemonUpload_DownloadTaskServerMockRecorder is the mock recorder for MockDfdaemonUpload_DownloadTaskServer. @@ -871,6 +878,7 @@ func (mr *MockDfdaemonUpload_DownloadTaskServerMockRecorder) SetTrailer(arg0 any type MockDfdaemonUpload_SyncPiecesServer struct { ctrl *gomock.Controller recorder *MockDfdaemonUpload_SyncPiecesServerMockRecorder + isgomock struct{} } // MockDfdaemonUpload_SyncPiecesServerMockRecorder is the mock recorder for MockDfdaemonUpload_SyncPiecesServer. @@ -990,6 +998,7 @@ func (mr *MockDfdaemonUpload_SyncPiecesServerMockRecorder) SetTrailer(arg0 any) type MockDfdaemonUpload_DownloadPersistentCacheTaskServer struct { ctrl *gomock.Controller recorder *MockDfdaemonUpload_DownloadPersistentCacheTaskServerMockRecorder + isgomock struct{} } // MockDfdaemonUpload_DownloadPersistentCacheTaskServerMockRecorder is the mock recorder for MockDfdaemonUpload_DownloadPersistentCacheTaskServer. @@ -1109,6 +1118,7 @@ func (mr *MockDfdaemonUpload_DownloadPersistentCacheTaskServerMockRecorder) SetT type MockDfdaemonDownloadClient struct { ctrl *gomock.Controller recorder *MockDfdaemonDownloadClientMockRecorder + isgomock struct{} } // MockDfdaemonDownloadClientMockRecorder is the mock recorder for MockDfdaemonDownloadClient. @@ -1312,6 +1322,7 @@ func (mr *MockDfdaemonDownloadClientMockRecorder) UploadTask(ctx, in any, opts . type MockDfdaemonDownload_DownloadTaskClient struct { ctrl *gomock.Controller recorder *MockDfdaemonDownload_DownloadTaskClientMockRecorder + isgomock struct{} } // MockDfdaemonDownload_DownloadTaskClientMockRecorder is the mock recorder for MockDfdaemonDownload_DownloadTaskClient. @@ -1435,6 +1446,7 @@ func (mr *MockDfdaemonDownload_DownloadTaskClientMockRecorder) Trailer() *gomock type MockDfdaemonDownload_DownloadPersistentCacheTaskClient struct { ctrl *gomock.Controller recorder *MockDfdaemonDownload_DownloadPersistentCacheTaskClientMockRecorder + isgomock struct{} } // MockDfdaemonDownload_DownloadPersistentCacheTaskClientMockRecorder is the mock recorder for MockDfdaemonDownload_DownloadPersistentCacheTaskClient. @@ -1558,6 +1570,7 @@ func (mr *MockDfdaemonDownload_DownloadPersistentCacheTaskClientMockRecorder) Tr type MockDfdaemonDownloadServer struct { ctrl *gomock.Controller recorder *MockDfdaemonDownloadServerMockRecorder + isgomock struct{} } // MockDfdaemonDownloadServerMockRecorder is the mock recorder for MockDfdaemonDownloadServer. @@ -1714,6 +1727,7 @@ func (mr *MockDfdaemonDownloadServerMockRecorder) UploadTask(arg0, arg1 any) *go type MockUnsafeDfdaemonDownloadServer struct { ctrl *gomock.Controller recorder *MockUnsafeDfdaemonDownloadServerMockRecorder + isgomock struct{} } // MockUnsafeDfdaemonDownloadServerMockRecorder is the mock recorder for MockUnsafeDfdaemonDownloadServer. @@ -1749,6 +1763,7 @@ func (mr *MockUnsafeDfdaemonDownloadServerMockRecorder) mustEmbedUnimplementedDf type MockDfdaemonDownload_DownloadTaskServer struct { ctrl *gomock.Controller recorder *MockDfdaemonDownload_DownloadTaskServerMockRecorder + isgomock struct{} } // MockDfdaemonDownload_DownloadTaskServerMockRecorder is the mock recorder for MockDfdaemonDownload_DownloadTaskServer. @@ -1868,6 +1883,7 @@ func (mr *MockDfdaemonDownload_DownloadTaskServerMockRecorder) SetTrailer(arg0 a type MockDfdaemonDownload_DownloadPersistentCacheTaskServer struct { ctrl *gomock.Controller recorder *MockDfdaemonDownload_DownloadPersistentCacheTaskServerMockRecorder + isgomock struct{} } // MockDfdaemonDownload_DownloadPersistentCacheTaskServerMockRecorder is the mock recorder for MockDfdaemonDownload_DownloadPersistentCacheTaskServer. diff --git a/pkg/apis/manager/v1/mocks/manager_mock.go b/pkg/apis/manager/v1/mocks/manager_mock.go index f9c0a3bb..9bec444e 100644 --- a/pkg/apis/manager/v1/mocks/manager_mock.go +++ b/pkg/apis/manager/v1/mocks/manager_mock.go @@ -24,6 +24,7 @@ import ( type MockManagerClient struct { ctrl *gomock.Controller recorder *MockManagerClientMockRecorder + isgomock struct{} } // MockManagerClientMockRecorder is the mock recorder for MockManagerClient. @@ -247,6 +248,7 @@ func (mr *MockManagerClientMockRecorder) UpdateSeedPeer(ctx, in any, opts ...any type MockManager_KeepAliveClient struct { ctrl *gomock.Controller recorder *MockManager_KeepAliveClientMockRecorder + isgomock struct{} } // MockManager_KeepAliveClientMockRecorder is the mock recorder for MockManager_KeepAliveClient. @@ -384,6 +386,7 @@ func (mr *MockManager_KeepAliveClientMockRecorder) Trailer() *gomock.Call { type MockManagerServer struct { ctrl *gomock.Controller recorder *MockManagerServerMockRecorder + isgomock struct{} } // MockManagerServerMockRecorder is the mock recorder for MockManagerServer. @@ -556,6 +559,7 @@ func (mr *MockManagerServerMockRecorder) UpdateSeedPeer(arg0, arg1 any) *gomock. type MockUnsafeManagerServer struct { ctrl *gomock.Controller recorder *MockUnsafeManagerServerMockRecorder + isgomock struct{} } // MockUnsafeManagerServerMockRecorder is the mock recorder for MockUnsafeManagerServer. @@ -591,6 +595,7 @@ func (mr *MockUnsafeManagerServerMockRecorder) mustEmbedUnimplementedManagerServ type MockManager_KeepAliveServer struct { ctrl *gomock.Controller recorder *MockManager_KeepAliveServerMockRecorder + isgomock struct{} } // MockManager_KeepAliveServerMockRecorder is the mock recorder for MockManager_KeepAliveServer. diff --git a/pkg/apis/manager/v2/mocks/manager_mock.go b/pkg/apis/manager/v2/mocks/manager_mock.go index 6ec437cd..0e72676e 100644 --- a/pkg/apis/manager/v2/mocks/manager_mock.go +++ b/pkg/apis/manager/v2/mocks/manager_mock.go @@ -24,6 +24,7 @@ import ( type MockManagerClient struct { ctrl *gomock.Controller recorder *MockManagerClientMockRecorder + isgomock struct{} } // MockManagerClientMockRecorder is the mock recorder for MockManagerClient. @@ -227,6 +228,7 @@ func (mr *MockManagerClientMockRecorder) UpdateSeedPeer(ctx, in any, opts ...any type MockManager_KeepAliveClient struct { ctrl *gomock.Controller recorder *MockManager_KeepAliveClientMockRecorder + isgomock struct{} } // MockManager_KeepAliveClientMockRecorder is the mock recorder for MockManager_KeepAliveClient. @@ -364,6 +366,7 @@ func (mr *MockManager_KeepAliveClientMockRecorder) Trailer() *gomock.Call { type MockManagerServer struct { ctrl *gomock.Controller recorder *MockManagerServerMockRecorder + isgomock struct{} } // MockManagerServerMockRecorder is the mock recorder for MockManagerServer. @@ -521,6 +524,7 @@ func (mr *MockManagerServerMockRecorder) UpdateSeedPeer(arg0, arg1 any) *gomock. type MockUnsafeManagerServer struct { ctrl *gomock.Controller recorder *MockUnsafeManagerServerMockRecorder + isgomock struct{} } // MockUnsafeManagerServerMockRecorder is the mock recorder for MockUnsafeManagerServer. @@ -556,6 +560,7 @@ func (mr *MockUnsafeManagerServerMockRecorder) mustEmbedUnimplementedManagerServ type MockManager_KeepAliveServer struct { ctrl *gomock.Controller recorder *MockManager_KeepAliveServerMockRecorder + isgomock struct{} } // MockManager_KeepAliveServerMockRecorder is the mock recorder for MockManager_KeepAliveServer. diff --git a/pkg/apis/scheduler/v1/mocks/scheduler_mock.go b/pkg/apis/scheduler/v1/mocks/scheduler_mock.go index f4a91fec..d6a34915 100644 --- a/pkg/apis/scheduler/v1/mocks/scheduler_mock.go +++ b/pkg/apis/scheduler/v1/mocks/scheduler_mock.go @@ -24,6 +24,7 @@ import ( type MockSchedulerClient struct { ctrl *gomock.Controller recorder *MockSchedulerClientMockRecorder + isgomock struct{} } // MockSchedulerClientMockRecorder is the mock recorder for MockSchedulerClient. @@ -207,6 +208,7 @@ func (mr *MockSchedulerClientMockRecorder) StatTask(ctx, in any, opts ...any) *g type MockScheduler_ReportPieceResultClient struct { ctrl *gomock.Controller recorder *MockScheduler_ReportPieceResultClientMockRecorder + isgomock struct{} } // MockScheduler_ReportPieceResultClientMockRecorder is the mock recorder for MockScheduler_ReportPieceResultClient. @@ -344,6 +346,7 @@ func (mr *MockScheduler_ReportPieceResultClientMockRecorder) Trailer() *gomock.C type MockSchedulerServer struct { ctrl *gomock.Controller recorder *MockSchedulerServerMockRecorder + isgomock struct{} } // MockSchedulerServerMockRecorder is the mock recorder for MockSchedulerServer. @@ -486,6 +489,7 @@ func (mr *MockSchedulerServerMockRecorder) StatTask(arg0, arg1 any) *gomock.Call type MockUnsafeSchedulerServer struct { ctrl *gomock.Controller recorder *MockUnsafeSchedulerServerMockRecorder + isgomock struct{} } // MockUnsafeSchedulerServerMockRecorder is the mock recorder for MockUnsafeSchedulerServer. @@ -521,6 +525,7 @@ func (mr *MockUnsafeSchedulerServerMockRecorder) mustEmbedUnimplementedScheduler type MockScheduler_ReportPieceResultServer struct { ctrl *gomock.Controller recorder *MockScheduler_ReportPieceResultServerMockRecorder + isgomock struct{} } // MockScheduler_ReportPieceResultServerMockRecorder is the mock recorder for MockScheduler_ReportPieceResultServer. diff --git a/pkg/apis/scheduler/v2/mocks/scheduler_mock.go b/pkg/apis/scheduler/v2/mocks/scheduler_mock.go index 2e13d880..3fe50697 100644 --- a/pkg/apis/scheduler/v2/mocks/scheduler_mock.go +++ b/pkg/apis/scheduler/v2/mocks/scheduler_mock.go @@ -25,6 +25,7 @@ import ( type MockSchedulerClient struct { ctrl *gomock.Controller recorder *MockSchedulerClientMockRecorder + isgomock struct{} } // MockSchedulerClientMockRecorder is the mock recorder for MockSchedulerClient. @@ -368,6 +369,7 @@ func (mr *MockSchedulerClientMockRecorder) UploadPersistentCacheTaskStarted(ctx, type MockScheduler_AnnouncePeerClient struct { ctrl *gomock.Controller recorder *MockScheduler_AnnouncePeerClientMockRecorder + isgomock struct{} } // MockScheduler_AnnouncePeerClientMockRecorder is the mock recorder for MockScheduler_AnnouncePeerClient. @@ -505,6 +507,7 @@ func (mr *MockScheduler_AnnouncePeerClientMockRecorder) Trailer() *gomock.Call { type MockScheduler_AnnouncePersistentCachePeerClient struct { ctrl *gomock.Controller recorder *MockScheduler_AnnouncePersistentCachePeerClientMockRecorder + isgomock struct{} } // MockScheduler_AnnouncePersistentCachePeerClientMockRecorder is the mock recorder for MockScheduler_AnnouncePersistentCachePeerClient. @@ -642,6 +645,7 @@ func (mr *MockScheduler_AnnouncePersistentCachePeerClientMockRecorder) Trailer() type MockSchedulerServer struct { ctrl *gomock.Controller recorder *MockSchedulerServerMockRecorder + isgomock struct{} } // MockSchedulerServerMockRecorder is the mock recorder for MockSchedulerServer. @@ -903,6 +907,7 @@ func (mr *MockSchedulerServerMockRecorder) UploadPersistentCacheTaskStarted(arg0 type MockUnsafeSchedulerServer struct { ctrl *gomock.Controller recorder *MockUnsafeSchedulerServerMockRecorder + isgomock struct{} } // MockUnsafeSchedulerServerMockRecorder is the mock recorder for MockUnsafeSchedulerServer. @@ -938,6 +943,7 @@ func (mr *MockUnsafeSchedulerServerMockRecorder) mustEmbedUnimplementedScheduler type MockScheduler_AnnouncePeerServer struct { ctrl *gomock.Controller recorder *MockScheduler_AnnouncePeerServerMockRecorder + isgomock struct{} } // MockScheduler_AnnouncePeerServerMockRecorder is the mock recorder for MockScheduler_AnnouncePeerServer. @@ -1072,6 +1078,7 @@ func (mr *MockScheduler_AnnouncePeerServerMockRecorder) SetTrailer(arg0 any) *go type MockScheduler_AnnouncePersistentCachePeerServer struct { ctrl *gomock.Controller recorder *MockScheduler_AnnouncePersistentCachePeerServerMockRecorder + isgomock struct{} } // MockScheduler_AnnouncePersistentCachePeerServerMockRecorder is the mock recorder for MockScheduler_AnnouncePersistentCachePeerServer. diff --git a/pkg/apis/scheduler/v2/scheduler.pb.go b/pkg/apis/scheduler/v2/scheduler.pb.go index 47e0a5d4..1cd78c8f 100644 --- a/pkg/apis/scheduler/v2/scheduler.pb.go +++ b/pkg/apis/scheduler/v2/scheduler.pb.go @@ -2385,16 +2385,20 @@ type UploadPersistentCacheTaskStartedRequest struct { PeerId string `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` // Replica count of the persistent cache task. PersistentReplicaCount uint64 `protobuf:"varint,4,opt,name=persistent_replica_count,json=persistentReplicaCount,proto3" json:"persistent_replica_count,omitempty"` + // Digest of the task digest, for example blake3:xxx or sha256:yyy. + Digest string `protobuf:"bytes,5,opt,name=digest,proto3" json:"digest,omitempty"` // Tag is used to distinguish different persistent cache tasks. - Tag *string `protobuf:"bytes,5,opt,name=tag,proto3,oneof" json:"tag,omitempty"` + Tag *string `protobuf:"bytes,6,opt,name=tag,proto3,oneof" json:"tag,omitempty"` // Application of task. - Application *string `protobuf:"bytes,6,opt,name=application,proto3,oneof" json:"application,omitempty"` + Application *string `protobuf:"bytes,7,opt,name=application,proto3,oneof" json:"application,omitempty"` // Task piece length. - PieceLength uint64 `protobuf:"varint,7,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"` + PieceLength uint64 `protobuf:"varint,8,opt,name=piece_length,json=pieceLength,proto3" json:"piece_length,omitempty"` + // Task content length. + ContentLength uint64 `protobuf:"varint,9,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"` + // Task piece count. + PieceCount uint32 `protobuf:"varint,10,opt,name=piece_count,json=pieceCount,proto3" json:"piece_count,omitempty"` // TTL of the persistent cache task. - Ttl *durationpb.Duration `protobuf:"bytes,8,opt,name=ttl,proto3" json:"ttl,omitempty"` - // Upload timeout. - Timeout *durationpb.Duration `protobuf:"bytes,9,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` + Ttl *durationpb.Duration `protobuf:"bytes,11,opt,name=ttl,proto3" json:"ttl,omitempty"` } func (x *UploadPersistentCacheTaskStartedRequest) Reset() { @@ -2457,6 +2461,13 @@ func (x *UploadPersistentCacheTaskStartedRequest) GetPersistentReplicaCount() ui return 0 } +func (x *UploadPersistentCacheTaskStartedRequest) GetDigest() string { + if x != nil { + return x.Digest + } + return "" +} + func (x *UploadPersistentCacheTaskStartedRequest) GetTag() string { if x != nil && x.Tag != nil { return *x.Tag @@ -2478,16 +2489,23 @@ func (x *UploadPersistentCacheTaskStartedRequest) GetPieceLength() uint64 { return 0 } -func (x *UploadPersistentCacheTaskStartedRequest) GetTtl() *durationpb.Duration { +func (x *UploadPersistentCacheTaskStartedRequest) GetContentLength() uint64 { if x != nil { - return x.Ttl + return x.ContentLength } - return nil + return 0 } -func (x *UploadPersistentCacheTaskStartedRequest) GetTimeout() *durationpb.Duration { +func (x *UploadPersistentCacheTaskStartedRequest) GetPieceCount() uint32 { if x != nil { - return x.Timeout + return x.PieceCount + } + return 0 +} + +func (x *UploadPersistentCacheTaskStartedRequest) GetTtl() *durationpb.Duration { + if x != nil { + return x.Ttl } return nil } @@ -3194,7 +3212,7 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{ 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, 0xd9, 0x03, 0x0a, 0x27, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, + 0x64, 0x22, 0x88, 0x05, 0x0a, 0x27, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, @@ -3207,155 +3225,166 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_rawDesc = []byte{ 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, 0x90, 0x01, - 0x0a, 0x28, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, + 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0xaa, 0x01, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x91, 0x01, 0xfa, 0x42, 0x8d, 0x01, 0x72, 0x8a, + 0x01, 0x32, 0x87, 0x01, 0x5e, 0x28, 0x6d, 0x64, 0x35, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, + 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x33, 0x32, 0x7d, 0x7c, 0x73, 0x68, 0x61, 0x31, 0x3a, 0x5b, + 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x34, 0x30, 0x7d, 0x7c, 0x73, + 0x68, 0x61, 0x32, 0x35, 0x36, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, + 0x5d, 0x7b, 0x36, 0x34, 0x7d, 0x7c, 0x73, 0x68, 0x61, 0x35, 0x31, 0x32, 0x3a, 0x5b, 0x61, 0x2d, + 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x31, 0x32, 0x38, 0x7d, 0x7c, 0x62, 0x6c, + 0x61, 0x6b, 0x65, 0x33, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, + 0x7b, 0x36, 0x34, 0x7d, 0x7c, 0x63, 0x72, 0x63, 0x33, 0x32, 0x3a, 0x5b, 0x61, 0x2d, 0x66, 0x41, + 0x2d, 0x46, 0x30, 0x2d, 0x39, 0x5d, 0x7b, 0x38, 0x7d, 0x29, 0x24, 0x52, 0x06, 0x64, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x32, 0x02, 0x28, 0x01, + 0x52, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x25, 0x0a, + 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x69, 0x65, 0x63, 0x65, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0xfa, + 0x42, 0x0d, 0xaa, 0x01, 0x0a, 0x22, 0x04, 0x08, 0x80, 0xf5, 0x24, 0x32, 0x02, 0x08, 0x3c, 0x52, + 0x03, 0x74, 0x74, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0x0a, + 0x28, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, + 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, + 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, + 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x22, + 0xd1, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, - 0x22, 0xd1, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, - 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, - 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, - 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, - 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, - 0x01, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x1e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, - 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, - 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x20, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, - 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, - 0x49, 0x64, 0x32, 0xca, 0x0b, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x12, 0x59, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, + 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x72, 0x05, 0x10, 0x01, 0xd0, 0x01, + 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x1e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, + 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, + 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x20, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, + 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x68, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x20, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, + 0x64, 0x32, 0xca, 0x0b, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, + 0x59, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, + 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, + 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, + 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, + 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x08, 0x53, - 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x32, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, - 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1d, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, - 0x74, 0x12, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x09, - 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, - 0x12, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x41, 0x6e, - 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, - 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, - 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, - 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, - 0x30, 0x01, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2c, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x19, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, - 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x09, 0x4c, + 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x71, 0x0a, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x12, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x7b, 0x0a, 0x21, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, - 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, - 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, - 0x6b, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, - 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, - 0x12, 0x6f, 0x0a, 0x1f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x12, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, - 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x2e, 0x73, + 0x1a, 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, + 0x1f, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x86, 0x01, 0x0a, 0x1b, 0x41, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x30, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, + 0x01, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, - 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, + 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, + 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, 0x19, 0x44, 0x65, + 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, - 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 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, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x71, 0x0a, 0x20, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x65, 0x64, 0x12, 0x35, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, + 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x7b, 0x0a, 0x21, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x36, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x6f, 0x0a, 0x1f, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x12, 0x34, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, + 0x32, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x12, 0x67, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x74, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2c, 0x2e, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, 0x19, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x63, 0x68, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x2f, + 0x5a, 0x2d, 0x64, 0x37, 0x79, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3461,44 +3490,43 @@ var file_pkg_apis_scheduler_v2_scheduler_proto_depIdxs = []int32{ 30, // 34: scheduler.v2.AnnouncePersistentCachePeerResponse.empty_persistent_cache_task_response:type_name -> scheduler.v2.EmptyPersistentCacheTaskResponse 31, // 35: scheduler.v2.AnnouncePersistentCachePeerResponse.normal_persistent_cache_task_response:type_name -> scheduler.v2.NormalPersistentCacheTaskResponse 45, // 36: scheduler.v2.UploadPersistentCacheTaskStartedRequest.ttl:type_name -> google.protobuf.Duration - 45, // 37: scheduler.v2.UploadPersistentCacheTaskStartedRequest.timeout:type_name -> google.protobuf.Duration - 12, // 38: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest - 17, // 39: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest - 18, // 40: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest - 19, // 41: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest - 20, // 42: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest - 21, // 43: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest - 47, // 44: scheduler.v2.Scheduler.ListHosts:input_type -> google.protobuf.Empty - 23, // 45: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest - 29, // 46: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:input_type -> scheduler.v2.AnnouncePersistentCachePeerRequest - 33, // 47: scheduler.v2.Scheduler.StatPersistentCachePeer:input_type -> scheduler.v2.StatPersistentCachePeerRequest - 34, // 48: scheduler.v2.Scheduler.DeletePersistentCachePeer:input_type -> scheduler.v2.DeletePersistentCachePeerRequest - 35, // 49: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:input_type -> scheduler.v2.UploadPersistentCacheTaskStartedRequest - 36, // 50: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:input_type -> scheduler.v2.UploadPersistentCacheTaskFinishedRequest - 37, // 51: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:input_type -> scheduler.v2.UploadPersistentCacheTaskFailedRequest - 38, // 52: scheduler.v2.Scheduler.StatPersistentCacheTask:input_type -> scheduler.v2.StatPersistentCacheTaskRequest - 39, // 53: scheduler.v2.Scheduler.DeletePersistentCacheTask:input_type -> scheduler.v2.DeletePersistentCacheTaskRequest - 16, // 54: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse - 41, // 55: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer - 47, // 56: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty - 48, // 57: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task - 47, // 58: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty - 47, // 59: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty - 22, // 60: scheduler.v2.Scheduler.ListHosts:output_type -> scheduler.v2.ListHostsResponse - 47, // 61: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty - 32, // 62: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:output_type -> scheduler.v2.AnnouncePersistentCachePeerResponse - 46, // 63: scheduler.v2.Scheduler.StatPersistentCachePeer:output_type -> common.v2.PersistentCachePeer - 47, // 64: scheduler.v2.Scheduler.DeletePersistentCachePeer:output_type -> google.protobuf.Empty - 47, // 65: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:output_type -> google.protobuf.Empty - 49, // 66: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:output_type -> common.v2.PersistentCacheTask - 47, // 67: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:output_type -> google.protobuf.Empty - 49, // 68: scheduler.v2.Scheduler.StatPersistentCacheTask:output_type -> common.v2.PersistentCacheTask - 47, // 69: scheduler.v2.Scheduler.DeletePersistentCacheTask:output_type -> google.protobuf.Empty - 54, // [54:70] is the sub-list for method output_type - 38, // [38:54] is the sub-list for method input_type - 38, // [38:38] is the sub-list for extension type_name - 38, // [38:38] is the sub-list for extension extendee - 0, // [0:38] is the sub-list for field type_name + 12, // 37: scheduler.v2.Scheduler.AnnouncePeer:input_type -> scheduler.v2.AnnouncePeerRequest + 17, // 38: scheduler.v2.Scheduler.StatPeer:input_type -> scheduler.v2.StatPeerRequest + 18, // 39: scheduler.v2.Scheduler.DeletePeer:input_type -> scheduler.v2.DeletePeerRequest + 19, // 40: scheduler.v2.Scheduler.StatTask:input_type -> scheduler.v2.StatTaskRequest + 20, // 41: scheduler.v2.Scheduler.DeleteTask:input_type -> scheduler.v2.DeleteTaskRequest + 21, // 42: scheduler.v2.Scheduler.AnnounceHost:input_type -> scheduler.v2.AnnounceHostRequest + 47, // 43: scheduler.v2.Scheduler.ListHosts:input_type -> google.protobuf.Empty + 23, // 44: scheduler.v2.Scheduler.DeleteHost:input_type -> scheduler.v2.DeleteHostRequest + 29, // 45: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:input_type -> scheduler.v2.AnnouncePersistentCachePeerRequest + 33, // 46: scheduler.v2.Scheduler.StatPersistentCachePeer:input_type -> scheduler.v2.StatPersistentCachePeerRequest + 34, // 47: scheduler.v2.Scheduler.DeletePersistentCachePeer:input_type -> scheduler.v2.DeletePersistentCachePeerRequest + 35, // 48: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:input_type -> scheduler.v2.UploadPersistentCacheTaskStartedRequest + 36, // 49: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:input_type -> scheduler.v2.UploadPersistentCacheTaskFinishedRequest + 37, // 50: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:input_type -> scheduler.v2.UploadPersistentCacheTaskFailedRequest + 38, // 51: scheduler.v2.Scheduler.StatPersistentCacheTask:input_type -> scheduler.v2.StatPersistentCacheTaskRequest + 39, // 52: scheduler.v2.Scheduler.DeletePersistentCacheTask:input_type -> scheduler.v2.DeletePersistentCacheTaskRequest + 16, // 53: scheduler.v2.Scheduler.AnnouncePeer:output_type -> scheduler.v2.AnnouncePeerResponse + 41, // 54: scheduler.v2.Scheduler.StatPeer:output_type -> common.v2.Peer + 47, // 55: scheduler.v2.Scheduler.DeletePeer:output_type -> google.protobuf.Empty + 48, // 56: scheduler.v2.Scheduler.StatTask:output_type -> common.v2.Task + 47, // 57: scheduler.v2.Scheduler.DeleteTask:output_type -> google.protobuf.Empty + 47, // 58: scheduler.v2.Scheduler.AnnounceHost:output_type -> google.protobuf.Empty + 22, // 59: scheduler.v2.Scheduler.ListHosts:output_type -> scheduler.v2.ListHostsResponse + 47, // 60: scheduler.v2.Scheduler.DeleteHost:output_type -> google.protobuf.Empty + 32, // 61: scheduler.v2.Scheduler.AnnouncePersistentCachePeer:output_type -> scheduler.v2.AnnouncePersistentCachePeerResponse + 46, // 62: scheduler.v2.Scheduler.StatPersistentCachePeer:output_type -> common.v2.PersistentCachePeer + 47, // 63: scheduler.v2.Scheduler.DeletePersistentCachePeer:output_type -> google.protobuf.Empty + 47, // 64: scheduler.v2.Scheduler.UploadPersistentCacheTaskStarted:output_type -> google.protobuf.Empty + 49, // 65: scheduler.v2.Scheduler.UploadPersistentCacheTaskFinished:output_type -> common.v2.PersistentCacheTask + 47, // 66: scheduler.v2.Scheduler.UploadPersistentCacheTaskFailed:output_type -> google.protobuf.Empty + 49, // 67: scheduler.v2.Scheduler.StatPersistentCacheTask:output_type -> common.v2.PersistentCacheTask + 47, // 68: scheduler.v2.Scheduler.DeletePersistentCacheTask:output_type -> google.protobuf.Empty + 53, // [53:69] is the sub-list for method output_type + 37, // [37:53] is the sub-list for method input_type + 37, // [37:37] is the sub-list for extension type_name + 37, // [37:37] is the sub-list for extension extendee + 0, // [0:37] is the sub-list for field type_name } func init() { file_pkg_apis_scheduler_v2_scheduler_proto_init() } diff --git a/pkg/apis/scheduler/v2/scheduler.pb.validate.go b/pkg/apis/scheduler/v2/scheduler.pb.validate.go index b6cf3f59..41016bce 100644 --- a/pkg/apis/scheduler/v2/scheduler.pb.validate.go +++ b/pkg/apis/scheduler/v2/scheduler.pb.validate.go @@ -5741,6 +5741,17 @@ func (m *UploadPersistentCacheTaskStartedRequest) validate(all bool) error { errors = append(errors, err) } + if !_UploadPersistentCacheTaskStartedRequest_Digest_Pattern.MatchString(m.GetDigest()) { + err := UploadPersistentCacheTaskStartedRequestValidationError{ + field: "Digest", + reason: "value does not match regex pattern \"^(md5:[a-fA-F0-9]{32}|sha1:[a-fA-F0-9]{40}|sha256:[a-fA-F0-9]{64}|sha512:[a-fA-F0-9]{128}|blake3:[a-fA-F0-9]{64}|crc32:[a-fA-F0-9]{8})$\"", + } + if !all { + return err + } + errors = append(errors, err) + } + if m.GetPieceLength() < 1 { err := UploadPersistentCacheTaskStartedRequestValidationError{ field: "PieceLength", @@ -5752,6 +5763,10 @@ func (m *UploadPersistentCacheTaskStartedRequest) validate(all bool) error { errors = append(errors, err) } + // no validation rules for ContentLength + + // no validation rules for PieceCount + if d := m.GetTtl(); d != nil { dur, err := d.AsDuration(), d.CheckValid() if err != nil { @@ -5791,39 +5806,6 @@ func (m *UploadPersistentCacheTaskStartedRequest) validate(all bool) error { // no validation rules for Application } - if m.Timeout != nil { - - if all { - switch v := interface{}(m.GetTimeout()).(type) { - case interface{ ValidateAll() error }: - if err := v.ValidateAll(); err != nil { - errors = append(errors, UploadPersistentCacheTaskStartedRequestValidationError{ - field: "Timeout", - reason: "embedded message failed validation", - cause: err, - }) - } - case interface{ Validate() error }: - if err := v.Validate(); err != nil { - errors = append(errors, UploadPersistentCacheTaskStartedRequestValidationError{ - field: "Timeout", - reason: "embedded message failed validation", - cause: err, - }) - } - } - } else if v, ok := interface{}(m.GetTimeout()).(interface{ Validate() error }); ok { - if err := v.Validate(); err != nil { - return UploadPersistentCacheTaskStartedRequestValidationError{ - field: "Timeout", - reason: "embedded message failed validation", - cause: err, - } - } - } - - } - if len(errors) > 0 { return UploadPersistentCacheTaskStartedRequestMultiError(errors) } @@ -5906,6 +5888,8 @@ var _ interface { ErrorName() string } = UploadPersistentCacheTaskStartedRequestValidationError{} +var _UploadPersistentCacheTaskStartedRequest_Digest_Pattern = regexp.MustCompile("^(md5:[a-fA-F0-9]{32}|sha1:[a-fA-F0-9]{40}|sha256:[a-fA-F0-9]{64}|sha512:[a-fA-F0-9]{128}|blake3:[a-fA-F0-9]{64}|crc32:[a-fA-F0-9]{8})$") + // Validate checks the field values on UploadPersistentCacheTaskFinishedRequest // with the rules defined in the proto definition for this message. If any // rules are violated, the first error encountered is returned, or nil if diff --git a/pkg/apis/scheduler/v2/scheduler.proto b/pkg/apis/scheduler/v2/scheduler.proto index 5d6b89d4..899658ea 100644 --- a/pkg/apis/scheduler/v2/scheduler.proto +++ b/pkg/apis/scheduler/v2/scheduler.proto @@ -338,16 +338,20 @@ message UploadPersistentCacheTaskStartedRequest { string peer_id = 3 [(validate.rules).string.min_len = 1]; // Replica count of the persistent cache task. uint64 persistent_replica_count = 4 [(validate.rules).uint64.gte = 1]; + // Digest of the task digest, for example blake3:xxx or sha256:yyy. + string digest = 5 [(validate.rules).string = {pattern: "^(md5:[a-fA-F0-9]{32}|sha1:[a-fA-F0-9]{40}|sha256:[a-fA-F0-9]{64}|sha512:[a-fA-F0-9]{128}|blake3:[a-fA-F0-9]{64}|crc32:[a-fA-F0-9]{8})$"}]; // Tag is used to distinguish different persistent cache tasks. - optional string tag = 5; + optional string tag = 6; // Application of task. - optional string application = 6; + optional string application = 7; // Task piece length. - uint64 piece_length = 7 [(validate.rules).uint64.gte = 1]; + uint64 piece_length = 8 [(validate.rules).uint64.gte = 1]; + // Task content length. + uint64 content_length = 9; + // Task piece count. + uint32 piece_count = 10; // TTL of the persistent cache task. - google.protobuf.Duration ttl = 8 [(validate.rules).duration = {gte:{seconds: 60}, lte:{seconds: 604800}}]; - // Upload timeout. - optional google.protobuf.Duration timeout = 9; + google.protobuf.Duration ttl = 11 [(validate.rules).duration = {gte:{seconds: 60}, lte:{seconds: 604800}}]; } // UploadPersistentCacheTaskFinishedRequest represents upload persistent cache task finished request of UploadPersistentCacheTaskFinishedRequest. diff --git a/proto/scheduler.proto b/proto/scheduler.proto index e64bab0e..f08dc39e 100644 --- a/proto/scheduler.proto +++ b/proto/scheduler.proto @@ -325,16 +325,20 @@ message UploadPersistentCacheTaskStartedRequest { string peer_id = 3; // Replica count of the persistent cache task. uint64 persistent_replica_count = 4; + // Digest of the task digest, for example blake3:xxx or sha256:yyy. + string digest = 5; // Tag is used to distinguish different persistent cache tasks. - optional string tag = 5; + optional string tag = 6; // Application of task. - optional string application = 6; + optional string application = 7; // Task piece length. - uint64 piece_length = 7; + uint64 piece_length = 8; + // Task content length. + uint64 content_length = 9; + // Task piece count. + uint32 piece_count = 10; // TTL of the persistent cache task. - google.protobuf.Duration ttl = 8; - // Upload timeout. - optional google.protobuf.Duration timeout = 9; + google.protobuf.Duration ttl = 11; } // UploadPersistentCacheTaskFinishedRequest represents upload persistent cache task finished request of UploadPersistentCacheTaskFinished. diff --git a/src/descriptor.bin b/src/descriptor.bin index c50399c9138cda24f912e203bd1c7a08cc796700..0ef3a63977355d336bac99d7d7a2e377ba7c41f4 100644 GIT binary patch delta 2360 zcmYL~ZActf6o&VlJ3G63{n&LhjZQusKi9;pNnCAWk{UyrwjrUFH0ehY(-<{IW1=K! zDTU&;f>e+iTn{7 zpWzL8Zhd{|$Qc|TD~BW7e7_=?onWmGdu0zKkMDd7K82KOu4#Fw8QRZ?8Sy(cN6Scg zZRzJJ+$$e~l!2g4r9m@v+A2 z!+EIFxJg9rtklV35|h%Dq;ZpIY*CVYCeg~_xwenb(55hM)o!7jJ_4r@RZbs)Qy5SI zd<0Ip0sMwGjq%Ta$ZpR=KY`OO=qGR*0~?)*egdb_+{AP2i2*~KK{U;D>tyZq%a&cc zRVRBdQ9B5bAFWYA0^~P?fegnlKz=j0F^lhBFN_=7EXJ#wcI?kXPQA>MyR(!NIg6XN zDoNxl=H&4NaMbb*{T_NA(u?e(7a1xAQ%n^@s_3bNWI=Cpizu#xs^C5J@8X#>Djz+D zHYfh6hYay?9q5rc6_K9Mpg9bL>_H@H&>W^`I2=8^FTSq>v;Dq{fV}G>K*)U;K|_0h zxWVLBbwk57tEt{8Cm)f@p-1cGkR+Q2t__mS18LJMw^(54kI?fcZLtHaQ*ABcbUl0& ze1!fIJ6VC;(Y)M|8JSm>bdxOSl_g2CoL9*Tb9PCtgPD<(JasPGp34xfA7w)8$U2)3sZ8 zn_+LH+nuNp((O*v2GppE<urN1LmL#kuE53UAk$T|NrVit@XHR8M93g}y@g-2kz_*~ zV)(B4hI{7w#L^Ww6dhuE*kO{%Vu%%0D@hhZ?9F%h1=}LU(1sbdm?v$EZ1Mh8I2ajb zx_VD3L=UsV;|`rd^e{Ws?DUjsXd|+xNZe}B#K3vbh1Cka(h;|{R5BQGTT3N_5x2FV kp^d86OmV#xDz=Zhg$0Qnbqfm;J4%IJ(A%!H-e`^f4|2I}c>n+a delta 2199 zcmYL}Ye-y27>0MgIeT_@jP820)od=Vm)$inYi!ImiOtQ@l;%QP(%Q65(qwH+Ffq{- zQ`%oi1A;{m>=7mift0hy?dQMBOWZ`O2=D47CnCx3;isTO& zmR!5et@5L4m}14E#HlhZV}$HjX5H3OGJ%W`1>H&$_9GP1_9nm)W&eT$1}tNg?83X7 zE|*dOE~7+I7YqO#r8Vod1UO2?C8EdygO)KyR29vQ)wMJ=XHLah8_zd1Uuvz?s|;e% zs92FOAET^N*DVP1F)FLjlCM#^a^8Ndk-B+HnTwI^AAx{L_mqz4kfNe?7|lM4JoEi7)C56JgeRyDA$@B<1~Izi%U z2~%>cfkjhO+6gb=G^L#&;WVWq#8sQ=~V}C zVVO_J_Yd~>jhNkcyFi{uv4Fknrvf{CZ+(6OJ zvo$ zkhzU49(hK=T(LtKrcVV~B>8G1t2wktrln4~dJE%4%3G}^c6^bdDJ}6&T%>Kgv_zjp z+I?75IF1OhL~^8&ZAvYXnd25QSS(T4xeL%hWm}?TTD<5m_;^*u&$8{QtK4+{YN#Rg zmgknZ4(jw=yQ7vKK&5vCcJ00_oWk^|cp6%Wu zx#|27u`eMwNWOlji-dqkzOP=q;~>H^dN`eozJ{a!y!`S!+m-6!W|3Pg!1nOiUM<1) z@ckc%Qx2PD8ND)mft^nGa#K$=3rH_dzV0GfKzjL+CUM$9R#`?Lr%$5q>RbMo3v7S7 zkDE!ieiiUOUjC+*!29@nAB%bi&$f(yPEFCbHGZpsnetdO+mq_&rrxD&c=YqcA=e`t z9{s%TtUII}%NS5YO4+dnL;lyyvbPL))5-xm;7uzB?0`3|uw@MDX+`DX7Pe#Kpf{~B V*g, /// Application of task. - #[prost(string, optional, tag = "6")] + #[prost(string, optional, tag = "7")] pub application: ::core::option::Option<::prost::alloc::string::String>, /// Task piece length. - #[prost(uint64, tag = "7")] + #[prost(uint64, tag = "8")] pub piece_length: u64, + /// Task content length. + #[prost(uint64, tag = "9")] + pub content_length: u64, + /// Task piece count. + #[prost(uint32, tag = "10")] + pub piece_count: u32, /// TTL of the persistent cache task. - #[prost(message, optional, tag = "8")] + #[prost(message, optional, tag = "11")] pub ttl: ::core::option::Option<::prost_wkt_types::Duration>, - /// Upload timeout. - #[prost(message, optional, tag = "9")] - pub timeout: ::core::option::Option<::prost_wkt_types::Duration>, } /// UploadPersistentCacheTaskFinishedRequest represents upload persistent cache task finished request of UploadPersistentCacheTaskFinished. #[derive(serde::Serialize, serde::Deserialize)]