github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/object/grpc/service.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.28.0 4 // protoc v3.21.9 5 // source: object/grpc/service.proto 6 7 package object 8 9 import ( 10 grpc1 "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc" 11 grpc "github.com/TrueCloudLab/frostfs-api-go/v2/session/grpc" 12 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 13 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 14 reflect "reflect" 15 sync "sync" 16 ) 17 18 const ( 19 // Verify that this generated code is sufficiently up-to-date. 20 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 21 // Verify that runtime/protoimpl is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 23 ) 24 25 // GET object request 26 type GetRequest struct { 27 state protoimpl.MessageState 28 sizeCache protoimpl.SizeCache 29 unknownFields protoimpl.UnknownFields 30 31 // Body of get object request message. 32 Body *GetRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 33 // Carries request meta information. Header data is used only to regulate 34 // message transport and does not affect request execution. 35 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 36 // Carries request verification information. This header is used to 37 // authenticate the nodes of the message route and check the correctness of 38 // transmission. 39 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 40 } 41 42 func (x *GetRequest) Reset() { 43 *x = GetRequest{} 44 if protoimpl.UnsafeEnabled { 45 mi := &file_object_grpc_service_proto_msgTypes[0] 46 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 47 ms.StoreMessageInfo(mi) 48 } 49 } 50 51 func (x *GetRequest) String() string { 52 return protoimpl.X.MessageStringOf(x) 53 } 54 55 func (*GetRequest) ProtoMessage() {} 56 57 func (x *GetRequest) ProtoReflect() protoreflect.Message { 58 mi := &file_object_grpc_service_proto_msgTypes[0] 59 if protoimpl.UnsafeEnabled && x != nil { 60 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 61 if ms.LoadMessageInfo() == nil { 62 ms.StoreMessageInfo(mi) 63 } 64 return ms 65 } 66 return mi.MessageOf(x) 67 } 68 69 // Deprecated: Use GetRequest.ProtoReflect.Descriptor instead. 70 func (*GetRequest) Descriptor() ([]byte, []int) { 71 return file_object_grpc_service_proto_rawDescGZIP(), []int{0} 72 } 73 74 func (x *GetRequest) GetBody() *GetRequest_Body { 75 if x != nil { 76 return x.Body 77 } 78 return nil 79 } 80 81 func (x *GetRequest) GetMetaHeader() *grpc.RequestMetaHeader { 82 if x != nil { 83 return x.MetaHeader 84 } 85 return nil 86 } 87 88 func (x *GetRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 89 if x != nil { 90 return x.VerifyHeader 91 } 92 return nil 93 } 94 95 // GET object response 96 type GetResponse struct { 97 state protoimpl.MessageState 98 sizeCache protoimpl.SizeCache 99 unknownFields protoimpl.UnknownFields 100 101 // Body of get object response message. 102 Body *GetResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 103 // Carries response meta information. Header data is used only to regulate 104 // message transport and does not affect request execution. 105 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 106 // Carries response verification information. This header is used to 107 // authenticate the nodes of the message route and check the correctness of 108 // transmission. 109 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 110 } 111 112 func (x *GetResponse) Reset() { 113 *x = GetResponse{} 114 if protoimpl.UnsafeEnabled { 115 mi := &file_object_grpc_service_proto_msgTypes[1] 116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 117 ms.StoreMessageInfo(mi) 118 } 119 } 120 121 func (x *GetResponse) String() string { 122 return protoimpl.X.MessageStringOf(x) 123 } 124 125 func (*GetResponse) ProtoMessage() {} 126 127 func (x *GetResponse) ProtoReflect() protoreflect.Message { 128 mi := &file_object_grpc_service_proto_msgTypes[1] 129 if protoimpl.UnsafeEnabled && x != nil { 130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 131 if ms.LoadMessageInfo() == nil { 132 ms.StoreMessageInfo(mi) 133 } 134 return ms 135 } 136 return mi.MessageOf(x) 137 } 138 139 // Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. 140 func (*GetResponse) Descriptor() ([]byte, []int) { 141 return file_object_grpc_service_proto_rawDescGZIP(), []int{1} 142 } 143 144 func (x *GetResponse) GetBody() *GetResponse_Body { 145 if x != nil { 146 return x.Body 147 } 148 return nil 149 } 150 151 func (x *GetResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 152 if x != nil { 153 return x.MetaHeader 154 } 155 return nil 156 } 157 158 func (x *GetResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 159 if x != nil { 160 return x.VerifyHeader 161 } 162 return nil 163 } 164 165 // PUT object request 166 type PutRequest struct { 167 state protoimpl.MessageState 168 sizeCache protoimpl.SizeCache 169 unknownFields protoimpl.UnknownFields 170 171 // Body of put object request message. 172 Body *PutRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 173 // Carries request meta information. Header data is used only to regulate 174 // message transport and does not affect request execution. 175 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 176 // Carries request verification information. This header is used to 177 // authenticate the nodes of the message route and check the correctness of 178 // transmission. 179 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 180 } 181 182 func (x *PutRequest) Reset() { 183 *x = PutRequest{} 184 if protoimpl.UnsafeEnabled { 185 mi := &file_object_grpc_service_proto_msgTypes[2] 186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 187 ms.StoreMessageInfo(mi) 188 } 189 } 190 191 func (x *PutRequest) String() string { 192 return protoimpl.X.MessageStringOf(x) 193 } 194 195 func (*PutRequest) ProtoMessage() {} 196 197 func (x *PutRequest) ProtoReflect() protoreflect.Message { 198 mi := &file_object_grpc_service_proto_msgTypes[2] 199 if protoimpl.UnsafeEnabled && x != nil { 200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 201 if ms.LoadMessageInfo() == nil { 202 ms.StoreMessageInfo(mi) 203 } 204 return ms 205 } 206 return mi.MessageOf(x) 207 } 208 209 // Deprecated: Use PutRequest.ProtoReflect.Descriptor instead. 210 func (*PutRequest) Descriptor() ([]byte, []int) { 211 return file_object_grpc_service_proto_rawDescGZIP(), []int{2} 212 } 213 214 func (x *PutRequest) GetBody() *PutRequest_Body { 215 if x != nil { 216 return x.Body 217 } 218 return nil 219 } 220 221 func (x *PutRequest) GetMetaHeader() *grpc.RequestMetaHeader { 222 if x != nil { 223 return x.MetaHeader 224 } 225 return nil 226 } 227 228 func (x *PutRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 229 if x != nil { 230 return x.VerifyHeader 231 } 232 return nil 233 } 234 235 // PUT Object response 236 type PutResponse struct { 237 state protoimpl.MessageState 238 sizeCache protoimpl.SizeCache 239 unknownFields protoimpl.UnknownFields 240 241 // Body of put object response message. 242 Body *PutResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 243 // Carries response meta information. Header data is used only to regulate 244 // message transport and does not affect request execution. 245 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 246 // Carries response verification information. This header is used to 247 // authenticate the nodes of the message route and check the correctness of 248 // transmission. 249 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 250 } 251 252 func (x *PutResponse) Reset() { 253 *x = PutResponse{} 254 if protoimpl.UnsafeEnabled { 255 mi := &file_object_grpc_service_proto_msgTypes[3] 256 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 257 ms.StoreMessageInfo(mi) 258 } 259 } 260 261 func (x *PutResponse) String() string { 262 return protoimpl.X.MessageStringOf(x) 263 } 264 265 func (*PutResponse) ProtoMessage() {} 266 267 func (x *PutResponse) ProtoReflect() protoreflect.Message { 268 mi := &file_object_grpc_service_proto_msgTypes[3] 269 if protoimpl.UnsafeEnabled && x != nil { 270 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 271 if ms.LoadMessageInfo() == nil { 272 ms.StoreMessageInfo(mi) 273 } 274 return ms 275 } 276 return mi.MessageOf(x) 277 } 278 279 // Deprecated: Use PutResponse.ProtoReflect.Descriptor instead. 280 func (*PutResponse) Descriptor() ([]byte, []int) { 281 return file_object_grpc_service_proto_rawDescGZIP(), []int{3} 282 } 283 284 func (x *PutResponse) GetBody() *PutResponse_Body { 285 if x != nil { 286 return x.Body 287 } 288 return nil 289 } 290 291 func (x *PutResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 292 if x != nil { 293 return x.MetaHeader 294 } 295 return nil 296 } 297 298 func (x *PutResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 299 if x != nil { 300 return x.VerifyHeader 301 } 302 return nil 303 } 304 305 // Object DELETE request 306 type DeleteRequest struct { 307 state protoimpl.MessageState 308 sizeCache protoimpl.SizeCache 309 unknownFields protoimpl.UnknownFields 310 311 // Body of delete object request message. 312 Body *DeleteRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 313 // Carries request meta information. Header data is used only to regulate 314 // message transport and does not affect request execution. 315 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 316 // Carries request verification information. This header is used to 317 // authenticate the nodes of the message route and check the correctness of 318 // transmission. 319 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 320 } 321 322 func (x *DeleteRequest) Reset() { 323 *x = DeleteRequest{} 324 if protoimpl.UnsafeEnabled { 325 mi := &file_object_grpc_service_proto_msgTypes[4] 326 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 327 ms.StoreMessageInfo(mi) 328 } 329 } 330 331 func (x *DeleteRequest) String() string { 332 return protoimpl.X.MessageStringOf(x) 333 } 334 335 func (*DeleteRequest) ProtoMessage() {} 336 337 func (x *DeleteRequest) ProtoReflect() protoreflect.Message { 338 mi := &file_object_grpc_service_proto_msgTypes[4] 339 if protoimpl.UnsafeEnabled && x != nil { 340 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 341 if ms.LoadMessageInfo() == nil { 342 ms.StoreMessageInfo(mi) 343 } 344 return ms 345 } 346 return mi.MessageOf(x) 347 } 348 349 // Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. 350 func (*DeleteRequest) Descriptor() ([]byte, []int) { 351 return file_object_grpc_service_proto_rawDescGZIP(), []int{4} 352 } 353 354 func (x *DeleteRequest) GetBody() *DeleteRequest_Body { 355 if x != nil { 356 return x.Body 357 } 358 return nil 359 } 360 361 func (x *DeleteRequest) GetMetaHeader() *grpc.RequestMetaHeader { 362 if x != nil { 363 return x.MetaHeader 364 } 365 return nil 366 } 367 368 func (x *DeleteRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 369 if x != nil { 370 return x.VerifyHeader 371 } 372 return nil 373 } 374 375 // DeleteResponse body is empty because we cannot guarantee permanent object 376 // removal in distributed system. 377 type DeleteResponse struct { 378 state protoimpl.MessageState 379 sizeCache protoimpl.SizeCache 380 unknownFields protoimpl.UnknownFields 381 382 // Body of delete object response message. 383 Body *DeleteResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 384 // Carries response meta information. Header data is used only to regulate 385 // message transport and does not affect request execution. 386 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 387 // Carries response verification information. This header is used to 388 // authenticate the nodes of the message route and check the correctness of 389 // transmission. 390 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 391 } 392 393 func (x *DeleteResponse) Reset() { 394 *x = DeleteResponse{} 395 if protoimpl.UnsafeEnabled { 396 mi := &file_object_grpc_service_proto_msgTypes[5] 397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 398 ms.StoreMessageInfo(mi) 399 } 400 } 401 402 func (x *DeleteResponse) String() string { 403 return protoimpl.X.MessageStringOf(x) 404 } 405 406 func (*DeleteResponse) ProtoMessage() {} 407 408 func (x *DeleteResponse) ProtoReflect() protoreflect.Message { 409 mi := &file_object_grpc_service_proto_msgTypes[5] 410 if protoimpl.UnsafeEnabled && x != nil { 411 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 412 if ms.LoadMessageInfo() == nil { 413 ms.StoreMessageInfo(mi) 414 } 415 return ms 416 } 417 return mi.MessageOf(x) 418 } 419 420 // Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead. 421 func (*DeleteResponse) Descriptor() ([]byte, []int) { 422 return file_object_grpc_service_proto_rawDescGZIP(), []int{5} 423 } 424 425 func (x *DeleteResponse) GetBody() *DeleteResponse_Body { 426 if x != nil { 427 return x.Body 428 } 429 return nil 430 } 431 432 func (x *DeleteResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 433 if x != nil { 434 return x.MetaHeader 435 } 436 return nil 437 } 438 439 func (x *DeleteResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 440 if x != nil { 441 return x.VerifyHeader 442 } 443 return nil 444 } 445 446 // Object HEAD request 447 type HeadRequest struct { 448 state protoimpl.MessageState 449 sizeCache protoimpl.SizeCache 450 unknownFields protoimpl.UnknownFields 451 452 // Body of head object request message. 453 Body *HeadRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 454 // Carries request meta information. Header data is used only to regulate 455 // message transport and does not affect request execution. 456 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 457 // Carries request verification information. This header is used to 458 // authenticate the nodes of the message route and check the correctness of 459 // transmission. 460 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 461 } 462 463 func (x *HeadRequest) Reset() { 464 *x = HeadRequest{} 465 if protoimpl.UnsafeEnabled { 466 mi := &file_object_grpc_service_proto_msgTypes[6] 467 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 468 ms.StoreMessageInfo(mi) 469 } 470 } 471 472 func (x *HeadRequest) String() string { 473 return protoimpl.X.MessageStringOf(x) 474 } 475 476 func (*HeadRequest) ProtoMessage() {} 477 478 func (x *HeadRequest) ProtoReflect() protoreflect.Message { 479 mi := &file_object_grpc_service_proto_msgTypes[6] 480 if protoimpl.UnsafeEnabled && x != nil { 481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 482 if ms.LoadMessageInfo() == nil { 483 ms.StoreMessageInfo(mi) 484 } 485 return ms 486 } 487 return mi.MessageOf(x) 488 } 489 490 // Deprecated: Use HeadRequest.ProtoReflect.Descriptor instead. 491 func (*HeadRequest) Descriptor() ([]byte, []int) { 492 return file_object_grpc_service_proto_rawDescGZIP(), []int{6} 493 } 494 495 func (x *HeadRequest) GetBody() *HeadRequest_Body { 496 if x != nil { 497 return x.Body 498 } 499 return nil 500 } 501 502 func (x *HeadRequest) GetMetaHeader() *grpc.RequestMetaHeader { 503 if x != nil { 504 return x.MetaHeader 505 } 506 return nil 507 } 508 509 func (x *HeadRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 510 if x != nil { 511 return x.VerifyHeader 512 } 513 return nil 514 } 515 516 // Tuple of a full object header and signature of an `ObjectID`. \ 517 // Signed `ObjectID` is present to verify full header's authenticity through the 518 // following steps: 519 // 520 // 1. Calculate `SHA-256` of the marshalled `Header` structure 521 // 2. Check if the resulting hash matches `ObjectID` 522 // 3. Check if `ObjectID` signature in `signature` field is correct 523 type HeaderWithSignature struct { 524 state protoimpl.MessageState 525 sizeCache protoimpl.SizeCache 526 unknownFields protoimpl.UnknownFields 527 528 // Full object header 529 Header *Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` 530 // Signed `ObjectID` to verify full header's authenticity 531 Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 532 } 533 534 func (x *HeaderWithSignature) Reset() { 535 *x = HeaderWithSignature{} 536 if protoimpl.UnsafeEnabled { 537 mi := &file_object_grpc_service_proto_msgTypes[7] 538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 539 ms.StoreMessageInfo(mi) 540 } 541 } 542 543 func (x *HeaderWithSignature) String() string { 544 return protoimpl.X.MessageStringOf(x) 545 } 546 547 func (*HeaderWithSignature) ProtoMessage() {} 548 549 func (x *HeaderWithSignature) ProtoReflect() protoreflect.Message { 550 mi := &file_object_grpc_service_proto_msgTypes[7] 551 if protoimpl.UnsafeEnabled && x != nil { 552 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 553 if ms.LoadMessageInfo() == nil { 554 ms.StoreMessageInfo(mi) 555 } 556 return ms 557 } 558 return mi.MessageOf(x) 559 } 560 561 // Deprecated: Use HeaderWithSignature.ProtoReflect.Descriptor instead. 562 func (*HeaderWithSignature) Descriptor() ([]byte, []int) { 563 return file_object_grpc_service_proto_rawDescGZIP(), []int{7} 564 } 565 566 func (x *HeaderWithSignature) GetHeader() *Header { 567 if x != nil { 568 return x.Header 569 } 570 return nil 571 } 572 573 func (x *HeaderWithSignature) GetSignature() *grpc1.Signature { 574 if x != nil { 575 return x.Signature 576 } 577 return nil 578 } 579 580 // Object HEAD response 581 type HeadResponse struct { 582 state protoimpl.MessageState 583 sizeCache protoimpl.SizeCache 584 unknownFields protoimpl.UnknownFields 585 586 // Body of head object response message. 587 Body *HeadResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 588 // Carries response meta information. Header data is used only to regulate 589 // message transport and does not affect request execution. 590 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 591 // Carries response verification information. This header is used to 592 // authenticate the nodes of the message route and check the correctness of 593 // transmission. 594 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 595 } 596 597 func (x *HeadResponse) Reset() { 598 *x = HeadResponse{} 599 if protoimpl.UnsafeEnabled { 600 mi := &file_object_grpc_service_proto_msgTypes[8] 601 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 602 ms.StoreMessageInfo(mi) 603 } 604 } 605 606 func (x *HeadResponse) String() string { 607 return protoimpl.X.MessageStringOf(x) 608 } 609 610 func (*HeadResponse) ProtoMessage() {} 611 612 func (x *HeadResponse) ProtoReflect() protoreflect.Message { 613 mi := &file_object_grpc_service_proto_msgTypes[8] 614 if protoimpl.UnsafeEnabled && x != nil { 615 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 616 if ms.LoadMessageInfo() == nil { 617 ms.StoreMessageInfo(mi) 618 } 619 return ms 620 } 621 return mi.MessageOf(x) 622 } 623 624 // Deprecated: Use HeadResponse.ProtoReflect.Descriptor instead. 625 func (*HeadResponse) Descriptor() ([]byte, []int) { 626 return file_object_grpc_service_proto_rawDescGZIP(), []int{8} 627 } 628 629 func (x *HeadResponse) GetBody() *HeadResponse_Body { 630 if x != nil { 631 return x.Body 632 } 633 return nil 634 } 635 636 func (x *HeadResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 637 if x != nil { 638 return x.MetaHeader 639 } 640 return nil 641 } 642 643 func (x *HeadResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 644 if x != nil { 645 return x.VerifyHeader 646 } 647 return nil 648 } 649 650 // Object Search request 651 type SearchRequest struct { 652 state protoimpl.MessageState 653 sizeCache protoimpl.SizeCache 654 unknownFields protoimpl.UnknownFields 655 656 // Body of search object request message. 657 Body *SearchRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 658 // Carries request meta information. Header data is used only to regulate 659 // message transport and does not affect request execution. 660 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 661 // Carries request verification information. This header is used to 662 // authenticate the nodes of the message route and check the correctness of 663 // transmission. 664 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 665 } 666 667 func (x *SearchRequest) Reset() { 668 *x = SearchRequest{} 669 if protoimpl.UnsafeEnabled { 670 mi := &file_object_grpc_service_proto_msgTypes[9] 671 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 672 ms.StoreMessageInfo(mi) 673 } 674 } 675 676 func (x *SearchRequest) String() string { 677 return protoimpl.X.MessageStringOf(x) 678 } 679 680 func (*SearchRequest) ProtoMessage() {} 681 682 func (x *SearchRequest) ProtoReflect() protoreflect.Message { 683 mi := &file_object_grpc_service_proto_msgTypes[9] 684 if protoimpl.UnsafeEnabled && x != nil { 685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 686 if ms.LoadMessageInfo() == nil { 687 ms.StoreMessageInfo(mi) 688 } 689 return ms 690 } 691 return mi.MessageOf(x) 692 } 693 694 // Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead. 695 func (*SearchRequest) Descriptor() ([]byte, []int) { 696 return file_object_grpc_service_proto_rawDescGZIP(), []int{9} 697 } 698 699 func (x *SearchRequest) GetBody() *SearchRequest_Body { 700 if x != nil { 701 return x.Body 702 } 703 return nil 704 } 705 706 func (x *SearchRequest) GetMetaHeader() *grpc.RequestMetaHeader { 707 if x != nil { 708 return x.MetaHeader 709 } 710 return nil 711 } 712 713 func (x *SearchRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 714 if x != nil { 715 return x.VerifyHeader 716 } 717 return nil 718 } 719 720 // Search response 721 type SearchResponse struct { 722 state protoimpl.MessageState 723 sizeCache protoimpl.SizeCache 724 unknownFields protoimpl.UnknownFields 725 726 // Body of search object response message. 727 Body *SearchResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 728 // Carries response meta information. Header data is used only to regulate 729 // message transport and does not affect request execution. 730 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 731 // Carries response verification information. This header is used to 732 // authenticate the nodes of the message route and check the correctness of 733 // transmission. 734 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 735 } 736 737 func (x *SearchResponse) Reset() { 738 *x = SearchResponse{} 739 if protoimpl.UnsafeEnabled { 740 mi := &file_object_grpc_service_proto_msgTypes[10] 741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 742 ms.StoreMessageInfo(mi) 743 } 744 } 745 746 func (x *SearchResponse) String() string { 747 return protoimpl.X.MessageStringOf(x) 748 } 749 750 func (*SearchResponse) ProtoMessage() {} 751 752 func (x *SearchResponse) ProtoReflect() protoreflect.Message { 753 mi := &file_object_grpc_service_proto_msgTypes[10] 754 if protoimpl.UnsafeEnabled && x != nil { 755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 756 if ms.LoadMessageInfo() == nil { 757 ms.StoreMessageInfo(mi) 758 } 759 return ms 760 } 761 return mi.MessageOf(x) 762 } 763 764 // Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead. 765 func (*SearchResponse) Descriptor() ([]byte, []int) { 766 return file_object_grpc_service_proto_rawDescGZIP(), []int{10} 767 } 768 769 func (x *SearchResponse) GetBody() *SearchResponse_Body { 770 if x != nil { 771 return x.Body 772 } 773 return nil 774 } 775 776 func (x *SearchResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 777 if x != nil { 778 return x.MetaHeader 779 } 780 return nil 781 } 782 783 func (x *SearchResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 784 if x != nil { 785 return x.VerifyHeader 786 } 787 return nil 788 } 789 790 // Object payload range.Ranges of zero length SHOULD be considered as invalid. 791 type Range struct { 792 state protoimpl.MessageState 793 sizeCache protoimpl.SizeCache 794 unknownFields protoimpl.UnknownFields 795 796 // Offset of the range from the object payload start 797 Offset uint64 `protobuf:"varint,1,opt,name=offset,proto3" json:"offset,omitempty"` 798 // Length in bytes of the object payload range 799 Length uint64 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"` 800 } 801 802 func (x *Range) Reset() { 803 *x = Range{} 804 if protoimpl.UnsafeEnabled { 805 mi := &file_object_grpc_service_proto_msgTypes[11] 806 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 807 ms.StoreMessageInfo(mi) 808 } 809 } 810 811 func (x *Range) String() string { 812 return protoimpl.X.MessageStringOf(x) 813 } 814 815 func (*Range) ProtoMessage() {} 816 817 func (x *Range) ProtoReflect() protoreflect.Message { 818 mi := &file_object_grpc_service_proto_msgTypes[11] 819 if protoimpl.UnsafeEnabled && x != nil { 820 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 821 if ms.LoadMessageInfo() == nil { 822 ms.StoreMessageInfo(mi) 823 } 824 return ms 825 } 826 return mi.MessageOf(x) 827 } 828 829 // Deprecated: Use Range.ProtoReflect.Descriptor instead. 830 func (*Range) Descriptor() ([]byte, []int) { 831 return file_object_grpc_service_proto_rawDescGZIP(), []int{11} 832 } 833 834 func (x *Range) GetOffset() uint64 { 835 if x != nil { 836 return x.Offset 837 } 838 return 0 839 } 840 841 func (x *Range) GetLength() uint64 { 842 if x != nil { 843 return x.Length 844 } 845 return 0 846 } 847 848 // Request part of object's payload 849 type GetRangeRequest struct { 850 state protoimpl.MessageState 851 sizeCache protoimpl.SizeCache 852 unknownFields protoimpl.UnknownFields 853 854 // Body of get range object request message. 855 Body *GetRangeRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 856 // Carries request meta information. Header data is used only to regulate 857 // message transport and does not affect request execution. 858 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 859 // Carries request verification information. This header is used to 860 // authenticate the nodes of the message route and check the correctness of 861 // transmission. 862 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 863 } 864 865 func (x *GetRangeRequest) Reset() { 866 *x = GetRangeRequest{} 867 if protoimpl.UnsafeEnabled { 868 mi := &file_object_grpc_service_proto_msgTypes[12] 869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 870 ms.StoreMessageInfo(mi) 871 } 872 } 873 874 func (x *GetRangeRequest) String() string { 875 return protoimpl.X.MessageStringOf(x) 876 } 877 878 func (*GetRangeRequest) ProtoMessage() {} 879 880 func (x *GetRangeRequest) ProtoReflect() protoreflect.Message { 881 mi := &file_object_grpc_service_proto_msgTypes[12] 882 if protoimpl.UnsafeEnabled && x != nil { 883 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 884 if ms.LoadMessageInfo() == nil { 885 ms.StoreMessageInfo(mi) 886 } 887 return ms 888 } 889 return mi.MessageOf(x) 890 } 891 892 // Deprecated: Use GetRangeRequest.ProtoReflect.Descriptor instead. 893 func (*GetRangeRequest) Descriptor() ([]byte, []int) { 894 return file_object_grpc_service_proto_rawDescGZIP(), []int{12} 895 } 896 897 func (x *GetRangeRequest) GetBody() *GetRangeRequest_Body { 898 if x != nil { 899 return x.Body 900 } 901 return nil 902 } 903 904 func (x *GetRangeRequest) GetMetaHeader() *grpc.RequestMetaHeader { 905 if x != nil { 906 return x.MetaHeader 907 } 908 return nil 909 } 910 911 func (x *GetRangeRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 912 if x != nil { 913 return x.VerifyHeader 914 } 915 return nil 916 } 917 918 // Get part of object's payload 919 type GetRangeResponse struct { 920 state protoimpl.MessageState 921 sizeCache protoimpl.SizeCache 922 unknownFields protoimpl.UnknownFields 923 924 // Body of get range object response message. 925 Body *GetRangeResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 926 // Carries response meta information. Header data is used only to regulate 927 // message transport and does not affect request execution. 928 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 929 // Carries response verification information. This header is used to 930 // authenticate the nodes of the message route and check the correctness of 931 // transmission. 932 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 933 } 934 935 func (x *GetRangeResponse) Reset() { 936 *x = GetRangeResponse{} 937 if protoimpl.UnsafeEnabled { 938 mi := &file_object_grpc_service_proto_msgTypes[13] 939 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 940 ms.StoreMessageInfo(mi) 941 } 942 } 943 944 func (x *GetRangeResponse) String() string { 945 return protoimpl.X.MessageStringOf(x) 946 } 947 948 func (*GetRangeResponse) ProtoMessage() {} 949 950 func (x *GetRangeResponse) ProtoReflect() protoreflect.Message { 951 mi := &file_object_grpc_service_proto_msgTypes[13] 952 if protoimpl.UnsafeEnabled && x != nil { 953 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 954 if ms.LoadMessageInfo() == nil { 955 ms.StoreMessageInfo(mi) 956 } 957 return ms 958 } 959 return mi.MessageOf(x) 960 } 961 962 // Deprecated: Use GetRangeResponse.ProtoReflect.Descriptor instead. 963 func (*GetRangeResponse) Descriptor() ([]byte, []int) { 964 return file_object_grpc_service_proto_rawDescGZIP(), []int{13} 965 } 966 967 func (x *GetRangeResponse) GetBody() *GetRangeResponse_Body { 968 if x != nil { 969 return x.Body 970 } 971 return nil 972 } 973 974 func (x *GetRangeResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 975 if x != nil { 976 return x.MetaHeader 977 } 978 return nil 979 } 980 981 func (x *GetRangeResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 982 if x != nil { 983 return x.VerifyHeader 984 } 985 return nil 986 } 987 988 // Get hash of object's payload part 989 type GetRangeHashRequest struct { 990 state protoimpl.MessageState 991 sizeCache protoimpl.SizeCache 992 unknownFields protoimpl.UnknownFields 993 994 // Body of get range hash object request message. 995 Body *GetRangeHashRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 996 // Carries request meta information. Header data is used only to regulate 997 // message transport and does not affect request execution. 998 MetaHeader *grpc.RequestMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 999 // Carries request verification information. This header is used to 1000 // authenticate the nodes of the message route and check the correctness of 1001 // transmission. 1002 VerifyHeader *grpc.RequestVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 1003 } 1004 1005 func (x *GetRangeHashRequest) Reset() { 1006 *x = GetRangeHashRequest{} 1007 if protoimpl.UnsafeEnabled { 1008 mi := &file_object_grpc_service_proto_msgTypes[14] 1009 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1010 ms.StoreMessageInfo(mi) 1011 } 1012 } 1013 1014 func (x *GetRangeHashRequest) String() string { 1015 return protoimpl.X.MessageStringOf(x) 1016 } 1017 1018 func (*GetRangeHashRequest) ProtoMessage() {} 1019 1020 func (x *GetRangeHashRequest) ProtoReflect() protoreflect.Message { 1021 mi := &file_object_grpc_service_proto_msgTypes[14] 1022 if protoimpl.UnsafeEnabled && x != nil { 1023 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1024 if ms.LoadMessageInfo() == nil { 1025 ms.StoreMessageInfo(mi) 1026 } 1027 return ms 1028 } 1029 return mi.MessageOf(x) 1030 } 1031 1032 // Deprecated: Use GetRangeHashRequest.ProtoReflect.Descriptor instead. 1033 func (*GetRangeHashRequest) Descriptor() ([]byte, []int) { 1034 return file_object_grpc_service_proto_rawDescGZIP(), []int{14} 1035 } 1036 1037 func (x *GetRangeHashRequest) GetBody() *GetRangeHashRequest_Body { 1038 if x != nil { 1039 return x.Body 1040 } 1041 return nil 1042 } 1043 1044 func (x *GetRangeHashRequest) GetMetaHeader() *grpc.RequestMetaHeader { 1045 if x != nil { 1046 return x.MetaHeader 1047 } 1048 return nil 1049 } 1050 1051 func (x *GetRangeHashRequest) GetVerifyHeader() *grpc.RequestVerificationHeader { 1052 if x != nil { 1053 return x.VerifyHeader 1054 } 1055 return nil 1056 } 1057 1058 // Get hash of object's payload part 1059 type GetRangeHashResponse struct { 1060 state protoimpl.MessageState 1061 sizeCache protoimpl.SizeCache 1062 unknownFields protoimpl.UnknownFields 1063 1064 // Body of get range hash object response message. 1065 Body *GetRangeHashResponse_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 1066 // Carries response meta information. Header data is used only to regulate 1067 // message transport and does not affect request execution. 1068 MetaHeader *grpc.ResponseMetaHeader `protobuf:"bytes,2,opt,name=meta_header,json=metaHeader,proto3" json:"meta_header,omitempty"` 1069 // Carries response verification information. This header is used to 1070 // authenticate the nodes of the message route and check the correctness of 1071 // transmission. 1072 VerifyHeader *grpc.ResponseVerificationHeader `protobuf:"bytes,3,opt,name=verify_header,json=verifyHeader,proto3" json:"verify_header,omitempty"` 1073 } 1074 1075 func (x *GetRangeHashResponse) Reset() { 1076 *x = GetRangeHashResponse{} 1077 if protoimpl.UnsafeEnabled { 1078 mi := &file_object_grpc_service_proto_msgTypes[15] 1079 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1080 ms.StoreMessageInfo(mi) 1081 } 1082 } 1083 1084 func (x *GetRangeHashResponse) String() string { 1085 return protoimpl.X.MessageStringOf(x) 1086 } 1087 1088 func (*GetRangeHashResponse) ProtoMessage() {} 1089 1090 func (x *GetRangeHashResponse) ProtoReflect() protoreflect.Message { 1091 mi := &file_object_grpc_service_proto_msgTypes[15] 1092 if protoimpl.UnsafeEnabled && x != nil { 1093 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1094 if ms.LoadMessageInfo() == nil { 1095 ms.StoreMessageInfo(mi) 1096 } 1097 return ms 1098 } 1099 return mi.MessageOf(x) 1100 } 1101 1102 // Deprecated: Use GetRangeHashResponse.ProtoReflect.Descriptor instead. 1103 func (*GetRangeHashResponse) Descriptor() ([]byte, []int) { 1104 return file_object_grpc_service_proto_rawDescGZIP(), []int{15} 1105 } 1106 1107 func (x *GetRangeHashResponse) GetBody() *GetRangeHashResponse_Body { 1108 if x != nil { 1109 return x.Body 1110 } 1111 return nil 1112 } 1113 1114 func (x *GetRangeHashResponse) GetMetaHeader() *grpc.ResponseMetaHeader { 1115 if x != nil { 1116 return x.MetaHeader 1117 } 1118 return nil 1119 } 1120 1121 func (x *GetRangeHashResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader { 1122 if x != nil { 1123 return x.VerifyHeader 1124 } 1125 return nil 1126 } 1127 1128 // GET Object request body 1129 type GetRequest_Body struct { 1130 state protoimpl.MessageState 1131 sizeCache protoimpl.SizeCache 1132 unknownFields protoimpl.UnknownFields 1133 1134 // Address of the requested object 1135 Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1136 // If `raw` flag is set, request will work only with objects that are 1137 // physically stored on the peer node 1138 Raw bool `protobuf:"varint,2,opt,name=raw,proto3" json:"raw,omitempty"` 1139 } 1140 1141 func (x *GetRequest_Body) Reset() { 1142 *x = GetRequest_Body{} 1143 if protoimpl.UnsafeEnabled { 1144 mi := &file_object_grpc_service_proto_msgTypes[16] 1145 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1146 ms.StoreMessageInfo(mi) 1147 } 1148 } 1149 1150 func (x *GetRequest_Body) String() string { 1151 return protoimpl.X.MessageStringOf(x) 1152 } 1153 1154 func (*GetRequest_Body) ProtoMessage() {} 1155 1156 func (x *GetRequest_Body) ProtoReflect() protoreflect.Message { 1157 mi := &file_object_grpc_service_proto_msgTypes[16] 1158 if protoimpl.UnsafeEnabled && x != nil { 1159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1160 if ms.LoadMessageInfo() == nil { 1161 ms.StoreMessageInfo(mi) 1162 } 1163 return ms 1164 } 1165 return mi.MessageOf(x) 1166 } 1167 1168 // Deprecated: Use GetRequest_Body.ProtoReflect.Descriptor instead. 1169 func (*GetRequest_Body) Descriptor() ([]byte, []int) { 1170 return file_object_grpc_service_proto_rawDescGZIP(), []int{0, 0} 1171 } 1172 1173 func (x *GetRequest_Body) GetAddress() *grpc1.Address { 1174 if x != nil { 1175 return x.Address 1176 } 1177 return nil 1178 } 1179 1180 func (x *GetRequest_Body) GetRaw() bool { 1181 if x != nil { 1182 return x.Raw 1183 } 1184 return false 1185 } 1186 1187 // GET Object Response body 1188 type GetResponse_Body struct { 1189 state protoimpl.MessageState 1190 sizeCache protoimpl.SizeCache 1191 unknownFields protoimpl.UnknownFields 1192 1193 // Single message in the response stream. 1194 // 1195 // Types that are assignable to ObjectPart: 1196 // 1197 // *GetResponse_Body_Init_ 1198 // *GetResponse_Body_Chunk 1199 // *GetResponse_Body_SplitInfo 1200 ObjectPart isGetResponse_Body_ObjectPart `protobuf_oneof:"object_part"` 1201 } 1202 1203 func (x *GetResponse_Body) Reset() { 1204 *x = GetResponse_Body{} 1205 if protoimpl.UnsafeEnabled { 1206 mi := &file_object_grpc_service_proto_msgTypes[17] 1207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1208 ms.StoreMessageInfo(mi) 1209 } 1210 } 1211 1212 func (x *GetResponse_Body) String() string { 1213 return protoimpl.X.MessageStringOf(x) 1214 } 1215 1216 func (*GetResponse_Body) ProtoMessage() {} 1217 1218 func (x *GetResponse_Body) ProtoReflect() protoreflect.Message { 1219 mi := &file_object_grpc_service_proto_msgTypes[17] 1220 if protoimpl.UnsafeEnabled && x != nil { 1221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1222 if ms.LoadMessageInfo() == nil { 1223 ms.StoreMessageInfo(mi) 1224 } 1225 return ms 1226 } 1227 return mi.MessageOf(x) 1228 } 1229 1230 // Deprecated: Use GetResponse_Body.ProtoReflect.Descriptor instead. 1231 func (*GetResponse_Body) Descriptor() ([]byte, []int) { 1232 return file_object_grpc_service_proto_rawDescGZIP(), []int{1, 0} 1233 } 1234 1235 func (m *GetResponse_Body) GetObjectPart() isGetResponse_Body_ObjectPart { 1236 if m != nil { 1237 return m.ObjectPart 1238 } 1239 return nil 1240 } 1241 1242 func (x *GetResponse_Body) GetInit() *GetResponse_Body_Init { 1243 if x, ok := x.GetObjectPart().(*GetResponse_Body_Init_); ok { 1244 return x.Init 1245 } 1246 return nil 1247 } 1248 1249 func (x *GetResponse_Body) GetChunk() []byte { 1250 if x, ok := x.GetObjectPart().(*GetResponse_Body_Chunk); ok { 1251 return x.Chunk 1252 } 1253 return nil 1254 } 1255 1256 func (x *GetResponse_Body) GetSplitInfo() *SplitInfo { 1257 if x, ok := x.GetObjectPart().(*GetResponse_Body_SplitInfo); ok { 1258 return x.SplitInfo 1259 } 1260 return nil 1261 } 1262 1263 type isGetResponse_Body_ObjectPart interface { 1264 isGetResponse_Body_ObjectPart() 1265 } 1266 1267 type GetResponse_Body_Init_ struct { 1268 // Initial part of the object stream 1269 Init *GetResponse_Body_Init `protobuf:"bytes,1,opt,name=init,proto3,oneof"` 1270 } 1271 1272 type GetResponse_Body_Chunk struct { 1273 // Chunked object payload 1274 Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` 1275 } 1276 1277 type GetResponse_Body_SplitInfo struct { 1278 // Meta information of split hierarchy for object assembly. 1279 SplitInfo *SplitInfo `protobuf:"bytes,3,opt,name=split_info,json=splitInfo,proto3,oneof"` 1280 } 1281 1282 func (*GetResponse_Body_Init_) isGetResponse_Body_ObjectPart() {} 1283 1284 func (*GetResponse_Body_Chunk) isGetResponse_Body_ObjectPart() {} 1285 1286 func (*GetResponse_Body_SplitInfo) isGetResponse_Body_ObjectPart() {} 1287 1288 // Initial part of the `Object` structure stream. Technically it's a 1289 // set of all `Object` structure's fields except `payload`. 1290 type GetResponse_Body_Init struct { 1291 state protoimpl.MessageState 1292 sizeCache protoimpl.SizeCache 1293 unknownFields protoimpl.UnknownFields 1294 1295 // Object's unique identifier. 1296 ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` 1297 // Signed `ObjectID` 1298 Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 1299 // Object metadata headers 1300 Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` 1301 } 1302 1303 func (x *GetResponse_Body_Init) Reset() { 1304 *x = GetResponse_Body_Init{} 1305 if protoimpl.UnsafeEnabled { 1306 mi := &file_object_grpc_service_proto_msgTypes[18] 1307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1308 ms.StoreMessageInfo(mi) 1309 } 1310 } 1311 1312 func (x *GetResponse_Body_Init) String() string { 1313 return protoimpl.X.MessageStringOf(x) 1314 } 1315 1316 func (*GetResponse_Body_Init) ProtoMessage() {} 1317 1318 func (x *GetResponse_Body_Init) ProtoReflect() protoreflect.Message { 1319 mi := &file_object_grpc_service_proto_msgTypes[18] 1320 if protoimpl.UnsafeEnabled && x != nil { 1321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1322 if ms.LoadMessageInfo() == nil { 1323 ms.StoreMessageInfo(mi) 1324 } 1325 return ms 1326 } 1327 return mi.MessageOf(x) 1328 } 1329 1330 // Deprecated: Use GetResponse_Body_Init.ProtoReflect.Descriptor instead. 1331 func (*GetResponse_Body_Init) Descriptor() ([]byte, []int) { 1332 return file_object_grpc_service_proto_rawDescGZIP(), []int{1, 0, 0} 1333 } 1334 1335 func (x *GetResponse_Body_Init) GetObjectId() *grpc1.ObjectID { 1336 if x != nil { 1337 return x.ObjectId 1338 } 1339 return nil 1340 } 1341 1342 func (x *GetResponse_Body_Init) GetSignature() *grpc1.Signature { 1343 if x != nil { 1344 return x.Signature 1345 } 1346 return nil 1347 } 1348 1349 func (x *GetResponse_Body_Init) GetHeader() *Header { 1350 if x != nil { 1351 return x.Header 1352 } 1353 return nil 1354 } 1355 1356 // PUT request body 1357 type PutRequest_Body struct { 1358 state protoimpl.MessageState 1359 sizeCache protoimpl.SizeCache 1360 unknownFields protoimpl.UnknownFields 1361 1362 // Single message in the request stream. 1363 // 1364 // Types that are assignable to ObjectPart: 1365 // 1366 // *PutRequest_Body_Init_ 1367 // *PutRequest_Body_Chunk 1368 ObjectPart isPutRequest_Body_ObjectPart `protobuf_oneof:"object_part"` 1369 } 1370 1371 func (x *PutRequest_Body) Reset() { 1372 *x = PutRequest_Body{} 1373 if protoimpl.UnsafeEnabled { 1374 mi := &file_object_grpc_service_proto_msgTypes[19] 1375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1376 ms.StoreMessageInfo(mi) 1377 } 1378 } 1379 1380 func (x *PutRequest_Body) String() string { 1381 return protoimpl.X.MessageStringOf(x) 1382 } 1383 1384 func (*PutRequest_Body) ProtoMessage() {} 1385 1386 func (x *PutRequest_Body) ProtoReflect() protoreflect.Message { 1387 mi := &file_object_grpc_service_proto_msgTypes[19] 1388 if protoimpl.UnsafeEnabled && x != nil { 1389 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1390 if ms.LoadMessageInfo() == nil { 1391 ms.StoreMessageInfo(mi) 1392 } 1393 return ms 1394 } 1395 return mi.MessageOf(x) 1396 } 1397 1398 // Deprecated: Use PutRequest_Body.ProtoReflect.Descriptor instead. 1399 func (*PutRequest_Body) Descriptor() ([]byte, []int) { 1400 return file_object_grpc_service_proto_rawDescGZIP(), []int{2, 0} 1401 } 1402 1403 func (m *PutRequest_Body) GetObjectPart() isPutRequest_Body_ObjectPart { 1404 if m != nil { 1405 return m.ObjectPart 1406 } 1407 return nil 1408 } 1409 1410 func (x *PutRequest_Body) GetInit() *PutRequest_Body_Init { 1411 if x, ok := x.GetObjectPart().(*PutRequest_Body_Init_); ok { 1412 return x.Init 1413 } 1414 return nil 1415 } 1416 1417 func (x *PutRequest_Body) GetChunk() []byte { 1418 if x, ok := x.GetObjectPart().(*PutRequest_Body_Chunk); ok { 1419 return x.Chunk 1420 } 1421 return nil 1422 } 1423 1424 type isPutRequest_Body_ObjectPart interface { 1425 isPutRequest_Body_ObjectPart() 1426 } 1427 1428 type PutRequest_Body_Init_ struct { 1429 // Initial part of the object stream 1430 Init *PutRequest_Body_Init `protobuf:"bytes,1,opt,name=init,proto3,oneof"` 1431 } 1432 1433 type PutRequest_Body_Chunk struct { 1434 // Chunked object payload 1435 Chunk []byte `protobuf:"bytes,2,opt,name=chunk,proto3,oneof"` 1436 } 1437 1438 func (*PutRequest_Body_Init_) isPutRequest_Body_ObjectPart() {} 1439 1440 func (*PutRequest_Body_Chunk) isPutRequest_Body_ObjectPart() {} 1441 1442 // Newly created object structure parameters. If some optional parameters 1443 // are not set, they will be calculated by a peer node. 1444 type PutRequest_Body_Init struct { 1445 state protoimpl.MessageState 1446 sizeCache protoimpl.SizeCache 1447 unknownFields protoimpl.UnknownFields 1448 1449 // ObjectID if available. 1450 ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` 1451 // Object signature if available 1452 Signature *grpc1.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 1453 // Object's Header 1454 Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` 1455 // Number of the object copies to store within the RPC call. By default 1456 // object is processed according to the container's placement policy. 1457 CopiesNumber uint32 `protobuf:"varint,4,opt,name=copies_number,json=copiesNumber,proto3" json:"copies_number,omitempty"` 1458 } 1459 1460 func (x *PutRequest_Body_Init) Reset() { 1461 *x = PutRequest_Body_Init{} 1462 if protoimpl.UnsafeEnabled { 1463 mi := &file_object_grpc_service_proto_msgTypes[20] 1464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1465 ms.StoreMessageInfo(mi) 1466 } 1467 } 1468 1469 func (x *PutRequest_Body_Init) String() string { 1470 return protoimpl.X.MessageStringOf(x) 1471 } 1472 1473 func (*PutRequest_Body_Init) ProtoMessage() {} 1474 1475 func (x *PutRequest_Body_Init) ProtoReflect() protoreflect.Message { 1476 mi := &file_object_grpc_service_proto_msgTypes[20] 1477 if protoimpl.UnsafeEnabled && x != nil { 1478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1479 if ms.LoadMessageInfo() == nil { 1480 ms.StoreMessageInfo(mi) 1481 } 1482 return ms 1483 } 1484 return mi.MessageOf(x) 1485 } 1486 1487 // Deprecated: Use PutRequest_Body_Init.ProtoReflect.Descriptor instead. 1488 func (*PutRequest_Body_Init) Descriptor() ([]byte, []int) { 1489 return file_object_grpc_service_proto_rawDescGZIP(), []int{2, 0, 0} 1490 } 1491 1492 func (x *PutRequest_Body_Init) GetObjectId() *grpc1.ObjectID { 1493 if x != nil { 1494 return x.ObjectId 1495 } 1496 return nil 1497 } 1498 1499 func (x *PutRequest_Body_Init) GetSignature() *grpc1.Signature { 1500 if x != nil { 1501 return x.Signature 1502 } 1503 return nil 1504 } 1505 1506 func (x *PutRequest_Body_Init) GetHeader() *Header { 1507 if x != nil { 1508 return x.Header 1509 } 1510 return nil 1511 } 1512 1513 func (x *PutRequest_Body_Init) GetCopiesNumber() uint32 { 1514 if x != nil { 1515 return x.CopiesNumber 1516 } 1517 return 0 1518 } 1519 1520 // PUT Object response body 1521 type PutResponse_Body struct { 1522 state protoimpl.MessageState 1523 sizeCache protoimpl.SizeCache 1524 unknownFields protoimpl.UnknownFields 1525 1526 // Identifier of the saved object 1527 ObjectId *grpc1.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` 1528 } 1529 1530 func (x *PutResponse_Body) Reset() { 1531 *x = PutResponse_Body{} 1532 if protoimpl.UnsafeEnabled { 1533 mi := &file_object_grpc_service_proto_msgTypes[21] 1534 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1535 ms.StoreMessageInfo(mi) 1536 } 1537 } 1538 1539 func (x *PutResponse_Body) String() string { 1540 return protoimpl.X.MessageStringOf(x) 1541 } 1542 1543 func (*PutResponse_Body) ProtoMessage() {} 1544 1545 func (x *PutResponse_Body) ProtoReflect() protoreflect.Message { 1546 mi := &file_object_grpc_service_proto_msgTypes[21] 1547 if protoimpl.UnsafeEnabled && x != nil { 1548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1549 if ms.LoadMessageInfo() == nil { 1550 ms.StoreMessageInfo(mi) 1551 } 1552 return ms 1553 } 1554 return mi.MessageOf(x) 1555 } 1556 1557 // Deprecated: Use PutResponse_Body.ProtoReflect.Descriptor instead. 1558 func (*PutResponse_Body) Descriptor() ([]byte, []int) { 1559 return file_object_grpc_service_proto_rawDescGZIP(), []int{3, 0} 1560 } 1561 1562 func (x *PutResponse_Body) GetObjectId() *grpc1.ObjectID { 1563 if x != nil { 1564 return x.ObjectId 1565 } 1566 return nil 1567 } 1568 1569 // Object DELETE request body 1570 type DeleteRequest_Body struct { 1571 state protoimpl.MessageState 1572 sizeCache protoimpl.SizeCache 1573 unknownFields protoimpl.UnknownFields 1574 1575 // Address of the object to be deleted 1576 Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1577 } 1578 1579 func (x *DeleteRequest_Body) Reset() { 1580 *x = DeleteRequest_Body{} 1581 if protoimpl.UnsafeEnabled { 1582 mi := &file_object_grpc_service_proto_msgTypes[22] 1583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1584 ms.StoreMessageInfo(mi) 1585 } 1586 } 1587 1588 func (x *DeleteRequest_Body) String() string { 1589 return protoimpl.X.MessageStringOf(x) 1590 } 1591 1592 func (*DeleteRequest_Body) ProtoMessage() {} 1593 1594 func (x *DeleteRequest_Body) ProtoReflect() protoreflect.Message { 1595 mi := &file_object_grpc_service_proto_msgTypes[22] 1596 if protoimpl.UnsafeEnabled && x != nil { 1597 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1598 if ms.LoadMessageInfo() == nil { 1599 ms.StoreMessageInfo(mi) 1600 } 1601 return ms 1602 } 1603 return mi.MessageOf(x) 1604 } 1605 1606 // Deprecated: Use DeleteRequest_Body.ProtoReflect.Descriptor instead. 1607 func (*DeleteRequest_Body) Descriptor() ([]byte, []int) { 1608 return file_object_grpc_service_proto_rawDescGZIP(), []int{4, 0} 1609 } 1610 1611 func (x *DeleteRequest_Body) GetAddress() *grpc1.Address { 1612 if x != nil { 1613 return x.Address 1614 } 1615 return nil 1616 } 1617 1618 // Object DELETE Response has an empty body. 1619 type DeleteResponse_Body struct { 1620 state protoimpl.MessageState 1621 sizeCache protoimpl.SizeCache 1622 unknownFields protoimpl.UnknownFields 1623 1624 // Address of the tombstone created for the deleted object 1625 Tombstone *grpc1.Address `protobuf:"bytes,1,opt,name=tombstone,proto3" json:"tombstone,omitempty"` 1626 } 1627 1628 func (x *DeleteResponse_Body) Reset() { 1629 *x = DeleteResponse_Body{} 1630 if protoimpl.UnsafeEnabled { 1631 mi := &file_object_grpc_service_proto_msgTypes[23] 1632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1633 ms.StoreMessageInfo(mi) 1634 } 1635 } 1636 1637 func (x *DeleteResponse_Body) String() string { 1638 return protoimpl.X.MessageStringOf(x) 1639 } 1640 1641 func (*DeleteResponse_Body) ProtoMessage() {} 1642 1643 func (x *DeleteResponse_Body) ProtoReflect() protoreflect.Message { 1644 mi := &file_object_grpc_service_proto_msgTypes[23] 1645 if protoimpl.UnsafeEnabled && x != nil { 1646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1647 if ms.LoadMessageInfo() == nil { 1648 ms.StoreMessageInfo(mi) 1649 } 1650 return ms 1651 } 1652 return mi.MessageOf(x) 1653 } 1654 1655 // Deprecated: Use DeleteResponse_Body.ProtoReflect.Descriptor instead. 1656 func (*DeleteResponse_Body) Descriptor() ([]byte, []int) { 1657 return file_object_grpc_service_proto_rawDescGZIP(), []int{5, 0} 1658 } 1659 1660 func (x *DeleteResponse_Body) GetTombstone() *grpc1.Address { 1661 if x != nil { 1662 return x.Tombstone 1663 } 1664 return nil 1665 } 1666 1667 // Object HEAD request body 1668 type HeadRequest_Body struct { 1669 state protoimpl.MessageState 1670 sizeCache protoimpl.SizeCache 1671 unknownFields protoimpl.UnknownFields 1672 1673 // Address of the object with the requested Header 1674 Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1675 // Return only minimal header subset 1676 MainOnly bool `protobuf:"varint,2,opt,name=main_only,json=mainOnly,proto3" json:"main_only,omitempty"` 1677 // If `raw` flag is set, request will work only with objects that are 1678 // physically stored on the peer node 1679 Raw bool `protobuf:"varint,3,opt,name=raw,proto3" json:"raw,omitempty"` 1680 } 1681 1682 func (x *HeadRequest_Body) Reset() { 1683 *x = HeadRequest_Body{} 1684 if protoimpl.UnsafeEnabled { 1685 mi := &file_object_grpc_service_proto_msgTypes[24] 1686 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1687 ms.StoreMessageInfo(mi) 1688 } 1689 } 1690 1691 func (x *HeadRequest_Body) String() string { 1692 return protoimpl.X.MessageStringOf(x) 1693 } 1694 1695 func (*HeadRequest_Body) ProtoMessage() {} 1696 1697 func (x *HeadRequest_Body) ProtoReflect() protoreflect.Message { 1698 mi := &file_object_grpc_service_proto_msgTypes[24] 1699 if protoimpl.UnsafeEnabled && x != nil { 1700 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1701 if ms.LoadMessageInfo() == nil { 1702 ms.StoreMessageInfo(mi) 1703 } 1704 return ms 1705 } 1706 return mi.MessageOf(x) 1707 } 1708 1709 // Deprecated: Use HeadRequest_Body.ProtoReflect.Descriptor instead. 1710 func (*HeadRequest_Body) Descriptor() ([]byte, []int) { 1711 return file_object_grpc_service_proto_rawDescGZIP(), []int{6, 0} 1712 } 1713 1714 func (x *HeadRequest_Body) GetAddress() *grpc1.Address { 1715 if x != nil { 1716 return x.Address 1717 } 1718 return nil 1719 } 1720 1721 func (x *HeadRequest_Body) GetMainOnly() bool { 1722 if x != nil { 1723 return x.MainOnly 1724 } 1725 return false 1726 } 1727 1728 func (x *HeadRequest_Body) GetRaw() bool { 1729 if x != nil { 1730 return x.Raw 1731 } 1732 return false 1733 } 1734 1735 // Object HEAD response body 1736 type HeadResponse_Body struct { 1737 state protoimpl.MessageState 1738 sizeCache protoimpl.SizeCache 1739 unknownFields protoimpl.UnknownFields 1740 1741 // Requested object header, it's part or meta information about split 1742 // object. 1743 // 1744 // Types that are assignable to Head: 1745 // 1746 // *HeadResponse_Body_Header 1747 // *HeadResponse_Body_ShortHeader 1748 // *HeadResponse_Body_SplitInfo 1749 Head isHeadResponse_Body_Head `protobuf_oneof:"head"` 1750 } 1751 1752 func (x *HeadResponse_Body) Reset() { 1753 *x = HeadResponse_Body{} 1754 if protoimpl.UnsafeEnabled { 1755 mi := &file_object_grpc_service_proto_msgTypes[25] 1756 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1757 ms.StoreMessageInfo(mi) 1758 } 1759 } 1760 1761 func (x *HeadResponse_Body) String() string { 1762 return protoimpl.X.MessageStringOf(x) 1763 } 1764 1765 func (*HeadResponse_Body) ProtoMessage() {} 1766 1767 func (x *HeadResponse_Body) ProtoReflect() protoreflect.Message { 1768 mi := &file_object_grpc_service_proto_msgTypes[25] 1769 if protoimpl.UnsafeEnabled && x != nil { 1770 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1771 if ms.LoadMessageInfo() == nil { 1772 ms.StoreMessageInfo(mi) 1773 } 1774 return ms 1775 } 1776 return mi.MessageOf(x) 1777 } 1778 1779 // Deprecated: Use HeadResponse_Body.ProtoReflect.Descriptor instead. 1780 func (*HeadResponse_Body) Descriptor() ([]byte, []int) { 1781 return file_object_grpc_service_proto_rawDescGZIP(), []int{8, 0} 1782 } 1783 1784 func (m *HeadResponse_Body) GetHead() isHeadResponse_Body_Head { 1785 if m != nil { 1786 return m.Head 1787 } 1788 return nil 1789 } 1790 1791 func (x *HeadResponse_Body) GetHeader() *HeaderWithSignature { 1792 if x, ok := x.GetHead().(*HeadResponse_Body_Header); ok { 1793 return x.Header 1794 } 1795 return nil 1796 } 1797 1798 func (x *HeadResponse_Body) GetShortHeader() *ShortHeader { 1799 if x, ok := x.GetHead().(*HeadResponse_Body_ShortHeader); ok { 1800 return x.ShortHeader 1801 } 1802 return nil 1803 } 1804 1805 func (x *HeadResponse_Body) GetSplitInfo() *SplitInfo { 1806 if x, ok := x.GetHead().(*HeadResponse_Body_SplitInfo); ok { 1807 return x.SplitInfo 1808 } 1809 return nil 1810 } 1811 1812 type isHeadResponse_Body_Head interface { 1813 isHeadResponse_Body_Head() 1814 } 1815 1816 type HeadResponse_Body_Header struct { 1817 // Full object's `Header` with `ObjectID` signature 1818 Header *HeaderWithSignature `protobuf:"bytes,1,opt,name=header,proto3,oneof"` 1819 } 1820 1821 type HeadResponse_Body_ShortHeader struct { 1822 // Short object header 1823 ShortHeader *ShortHeader `protobuf:"bytes,2,opt,name=short_header,json=shortHeader,proto3,oneof"` 1824 } 1825 1826 type HeadResponse_Body_SplitInfo struct { 1827 // Meta information of split hierarchy. 1828 SplitInfo *SplitInfo `protobuf:"bytes,3,opt,name=split_info,json=splitInfo,proto3,oneof"` 1829 } 1830 1831 func (*HeadResponse_Body_Header) isHeadResponse_Body_Head() {} 1832 1833 func (*HeadResponse_Body_ShortHeader) isHeadResponse_Body_Head() {} 1834 1835 func (*HeadResponse_Body_SplitInfo) isHeadResponse_Body_Head() {} 1836 1837 // Object Search request body 1838 type SearchRequest_Body struct { 1839 state protoimpl.MessageState 1840 sizeCache protoimpl.SizeCache 1841 unknownFields protoimpl.UnknownFields 1842 1843 // Container identifier were to search 1844 ContainerId *grpc1.ContainerID `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"` 1845 // Version of the Query Language used 1846 Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` 1847 // List of search expressions 1848 Filters []*SearchRequest_Body_Filter `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"` 1849 } 1850 1851 func (x *SearchRequest_Body) Reset() { 1852 *x = SearchRequest_Body{} 1853 if protoimpl.UnsafeEnabled { 1854 mi := &file_object_grpc_service_proto_msgTypes[26] 1855 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1856 ms.StoreMessageInfo(mi) 1857 } 1858 } 1859 1860 func (x *SearchRequest_Body) String() string { 1861 return protoimpl.X.MessageStringOf(x) 1862 } 1863 1864 func (*SearchRequest_Body) ProtoMessage() {} 1865 1866 func (x *SearchRequest_Body) ProtoReflect() protoreflect.Message { 1867 mi := &file_object_grpc_service_proto_msgTypes[26] 1868 if protoimpl.UnsafeEnabled && x != nil { 1869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1870 if ms.LoadMessageInfo() == nil { 1871 ms.StoreMessageInfo(mi) 1872 } 1873 return ms 1874 } 1875 return mi.MessageOf(x) 1876 } 1877 1878 // Deprecated: Use SearchRequest_Body.ProtoReflect.Descriptor instead. 1879 func (*SearchRequest_Body) Descriptor() ([]byte, []int) { 1880 return file_object_grpc_service_proto_rawDescGZIP(), []int{9, 0} 1881 } 1882 1883 func (x *SearchRequest_Body) GetContainerId() *grpc1.ContainerID { 1884 if x != nil { 1885 return x.ContainerId 1886 } 1887 return nil 1888 } 1889 1890 func (x *SearchRequest_Body) GetVersion() uint32 { 1891 if x != nil { 1892 return x.Version 1893 } 1894 return 0 1895 } 1896 1897 func (x *SearchRequest_Body) GetFilters() []*SearchRequest_Body_Filter { 1898 if x != nil { 1899 return x.Filters 1900 } 1901 return nil 1902 } 1903 1904 // Filter structure checks if the object header field or the attribute content 1905 // matches a value. 1906 // 1907 // If no filters are set, search request will return all objects of the 1908 // container, including Regular object, Tombstones and Storage Group 1909 // objects. Most human users expect to get only object they can directly 1910 // work with. In that case, `$Object:ROOT` filter should be used. 1911 // 1912 // By default `key` field refers to the corresponding object's `Attribute`. 1913 // Some Object's header fields can also be accessed by adding `$Object:` 1914 // prefix to the name. Here is the list of fields available via this prefix: 1915 // 1916 // - $Object:version \ 1917 // version 1918 // - $Object:objectID \ 1919 // object_id 1920 // - $Object:containerID \ 1921 // container_id 1922 // - $Object:ownerID \ 1923 // owner_id 1924 // - $Object:creationEpoch \ 1925 // creation_epoch 1926 // - $Object:payloadLength \ 1927 // payload_length 1928 // - $Object:payloadHash \ 1929 // payload_hash 1930 // - $Object:objectType \ 1931 // object_type 1932 // - $Object:homomorphicHash \ 1933 // homomorphic_hash 1934 // - $Object:split.parent \ 1935 // object_id of parent 1936 // - $Object:split.splitID \ 1937 // 16 byte UUIDv4 used to identify the split object hierarchy parts 1938 // 1939 // There are some well-known filter aliases to match objects by certain 1940 // properties: 1941 // 1942 // - $Object:ROOT \ 1943 // Returns only `REGULAR` type objects that are not split or that are the top 1944 // level root objects in a split hierarchy. This includes objects not 1945 // present physically, like large objects split into smaller objects 1946 // without a separate top-level root object. Objects of other types like 1947 // StorageGroups and Tombstones will not be shown. This filter may be 1948 // useful for listing objects like `ls` command of some virtual file 1949 // system. This filter is activated if the `key` exists, disregarding the 1950 // value and matcher type. 1951 // - $Object:PHY \ 1952 // Returns only objects physically stored in the system. This filter is 1953 // activated if the `key` exists, disregarding the value and matcher type. 1954 // 1955 // Note: using filters with a key with prefix `$Object:` and match type 1956 // `NOT_PRESENT `is not recommended since this is not a cross-version approach. 1957 // Behavior when processing this kind of filters is undefined. 1958 type SearchRequest_Body_Filter struct { 1959 state protoimpl.MessageState 1960 sizeCache protoimpl.SizeCache 1961 unknownFields protoimpl.UnknownFields 1962 1963 // Match type to use 1964 MatchType MatchType `protobuf:"varint,1,opt,name=match_type,json=matchType,proto3,enum=neo.fs.v2.object.MatchType" json:"match_type,omitempty"` 1965 // Attribute or Header fields to match 1966 Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` 1967 // Value to match 1968 Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 1969 } 1970 1971 func (x *SearchRequest_Body_Filter) Reset() { 1972 *x = SearchRequest_Body_Filter{} 1973 if protoimpl.UnsafeEnabled { 1974 mi := &file_object_grpc_service_proto_msgTypes[27] 1975 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1976 ms.StoreMessageInfo(mi) 1977 } 1978 } 1979 1980 func (x *SearchRequest_Body_Filter) String() string { 1981 return protoimpl.X.MessageStringOf(x) 1982 } 1983 1984 func (*SearchRequest_Body_Filter) ProtoMessage() {} 1985 1986 func (x *SearchRequest_Body_Filter) ProtoReflect() protoreflect.Message { 1987 mi := &file_object_grpc_service_proto_msgTypes[27] 1988 if protoimpl.UnsafeEnabled && x != nil { 1989 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1990 if ms.LoadMessageInfo() == nil { 1991 ms.StoreMessageInfo(mi) 1992 } 1993 return ms 1994 } 1995 return mi.MessageOf(x) 1996 } 1997 1998 // Deprecated: Use SearchRequest_Body_Filter.ProtoReflect.Descriptor instead. 1999 func (*SearchRequest_Body_Filter) Descriptor() ([]byte, []int) { 2000 return file_object_grpc_service_proto_rawDescGZIP(), []int{9, 0, 0} 2001 } 2002 2003 func (x *SearchRequest_Body_Filter) GetMatchType() MatchType { 2004 if x != nil { 2005 return x.MatchType 2006 } 2007 return MatchType_MATCH_TYPE_UNSPECIFIED 2008 } 2009 2010 func (x *SearchRequest_Body_Filter) GetKey() string { 2011 if x != nil { 2012 return x.Key 2013 } 2014 return "" 2015 } 2016 2017 func (x *SearchRequest_Body_Filter) GetValue() string { 2018 if x != nil { 2019 return x.Value 2020 } 2021 return "" 2022 } 2023 2024 // Object Search response body 2025 type SearchResponse_Body struct { 2026 state protoimpl.MessageState 2027 sizeCache protoimpl.SizeCache 2028 unknownFields protoimpl.UnknownFields 2029 2030 // List of `ObjectID`s that match the search query 2031 IdList []*grpc1.ObjectID `protobuf:"bytes,1,rep,name=id_list,json=idList,proto3" json:"id_list,omitempty"` 2032 } 2033 2034 func (x *SearchResponse_Body) Reset() { 2035 *x = SearchResponse_Body{} 2036 if protoimpl.UnsafeEnabled { 2037 mi := &file_object_grpc_service_proto_msgTypes[28] 2038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2039 ms.StoreMessageInfo(mi) 2040 } 2041 } 2042 2043 func (x *SearchResponse_Body) String() string { 2044 return protoimpl.X.MessageStringOf(x) 2045 } 2046 2047 func (*SearchResponse_Body) ProtoMessage() {} 2048 2049 func (x *SearchResponse_Body) ProtoReflect() protoreflect.Message { 2050 mi := &file_object_grpc_service_proto_msgTypes[28] 2051 if protoimpl.UnsafeEnabled && x != nil { 2052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2053 if ms.LoadMessageInfo() == nil { 2054 ms.StoreMessageInfo(mi) 2055 } 2056 return ms 2057 } 2058 return mi.MessageOf(x) 2059 } 2060 2061 // Deprecated: Use SearchResponse_Body.ProtoReflect.Descriptor instead. 2062 func (*SearchResponse_Body) Descriptor() ([]byte, []int) { 2063 return file_object_grpc_service_proto_rawDescGZIP(), []int{10, 0} 2064 } 2065 2066 func (x *SearchResponse_Body) GetIdList() []*grpc1.ObjectID { 2067 if x != nil { 2068 return x.IdList 2069 } 2070 return nil 2071 } 2072 2073 // Byte range of object's payload request body 2074 type GetRangeRequest_Body struct { 2075 state protoimpl.MessageState 2076 sizeCache protoimpl.SizeCache 2077 unknownFields protoimpl.UnknownFields 2078 2079 // Address of the object containing the requested payload range 2080 Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 2081 // Requested payload range 2082 Range *Range `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"` 2083 // If `raw` flag is set, request will work only with objects that are 2084 // physically stored on the peer node. 2085 Raw bool `protobuf:"varint,3,opt,name=raw,proto3" json:"raw,omitempty"` 2086 } 2087 2088 func (x *GetRangeRequest_Body) Reset() { 2089 *x = GetRangeRequest_Body{} 2090 if protoimpl.UnsafeEnabled { 2091 mi := &file_object_grpc_service_proto_msgTypes[29] 2092 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2093 ms.StoreMessageInfo(mi) 2094 } 2095 } 2096 2097 func (x *GetRangeRequest_Body) String() string { 2098 return protoimpl.X.MessageStringOf(x) 2099 } 2100 2101 func (*GetRangeRequest_Body) ProtoMessage() {} 2102 2103 func (x *GetRangeRequest_Body) ProtoReflect() protoreflect.Message { 2104 mi := &file_object_grpc_service_proto_msgTypes[29] 2105 if protoimpl.UnsafeEnabled && x != nil { 2106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2107 if ms.LoadMessageInfo() == nil { 2108 ms.StoreMessageInfo(mi) 2109 } 2110 return ms 2111 } 2112 return mi.MessageOf(x) 2113 } 2114 2115 // Deprecated: Use GetRangeRequest_Body.ProtoReflect.Descriptor instead. 2116 func (*GetRangeRequest_Body) Descriptor() ([]byte, []int) { 2117 return file_object_grpc_service_proto_rawDescGZIP(), []int{12, 0} 2118 } 2119 2120 func (x *GetRangeRequest_Body) GetAddress() *grpc1.Address { 2121 if x != nil { 2122 return x.Address 2123 } 2124 return nil 2125 } 2126 2127 func (x *GetRangeRequest_Body) GetRange() *Range { 2128 if x != nil { 2129 return x.Range 2130 } 2131 return nil 2132 } 2133 2134 func (x *GetRangeRequest_Body) GetRaw() bool { 2135 if x != nil { 2136 return x.Raw 2137 } 2138 return false 2139 } 2140 2141 // Get Range response body uses streams to transfer the response. Because 2142 // object payload considered a byte sequence, there is no need to have some 2143 // initial preamble message. The requested byte range is sent as a series 2144 // chunks. 2145 type GetRangeResponse_Body struct { 2146 state protoimpl.MessageState 2147 sizeCache protoimpl.SizeCache 2148 unknownFields protoimpl.UnknownFields 2149 2150 // Requested object range or meta information about split object. 2151 // 2152 // Types that are assignable to RangePart: 2153 // 2154 // *GetRangeResponse_Body_Chunk 2155 // *GetRangeResponse_Body_SplitInfo 2156 RangePart isGetRangeResponse_Body_RangePart `protobuf_oneof:"range_part"` 2157 } 2158 2159 func (x *GetRangeResponse_Body) Reset() { 2160 *x = GetRangeResponse_Body{} 2161 if protoimpl.UnsafeEnabled { 2162 mi := &file_object_grpc_service_proto_msgTypes[30] 2163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2164 ms.StoreMessageInfo(mi) 2165 } 2166 } 2167 2168 func (x *GetRangeResponse_Body) String() string { 2169 return protoimpl.X.MessageStringOf(x) 2170 } 2171 2172 func (*GetRangeResponse_Body) ProtoMessage() {} 2173 2174 func (x *GetRangeResponse_Body) ProtoReflect() protoreflect.Message { 2175 mi := &file_object_grpc_service_proto_msgTypes[30] 2176 if protoimpl.UnsafeEnabled && x != nil { 2177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2178 if ms.LoadMessageInfo() == nil { 2179 ms.StoreMessageInfo(mi) 2180 } 2181 return ms 2182 } 2183 return mi.MessageOf(x) 2184 } 2185 2186 // Deprecated: Use GetRangeResponse_Body.ProtoReflect.Descriptor instead. 2187 func (*GetRangeResponse_Body) Descriptor() ([]byte, []int) { 2188 return file_object_grpc_service_proto_rawDescGZIP(), []int{13, 0} 2189 } 2190 2191 func (m *GetRangeResponse_Body) GetRangePart() isGetRangeResponse_Body_RangePart { 2192 if m != nil { 2193 return m.RangePart 2194 } 2195 return nil 2196 } 2197 2198 func (x *GetRangeResponse_Body) GetChunk() []byte { 2199 if x, ok := x.GetRangePart().(*GetRangeResponse_Body_Chunk); ok { 2200 return x.Chunk 2201 } 2202 return nil 2203 } 2204 2205 func (x *GetRangeResponse_Body) GetSplitInfo() *SplitInfo { 2206 if x, ok := x.GetRangePart().(*GetRangeResponse_Body_SplitInfo); ok { 2207 return x.SplitInfo 2208 } 2209 return nil 2210 } 2211 2212 type isGetRangeResponse_Body_RangePart interface { 2213 isGetRangeResponse_Body_RangePart() 2214 } 2215 2216 type GetRangeResponse_Body_Chunk struct { 2217 // Chunked object payload's range. 2218 Chunk []byte `protobuf:"bytes,1,opt,name=chunk,proto3,oneof"` 2219 } 2220 2221 type GetRangeResponse_Body_SplitInfo struct { 2222 // Meta information of split hierarchy. 2223 SplitInfo *SplitInfo `protobuf:"bytes,2,opt,name=split_info,json=splitInfo,proto3,oneof"` 2224 } 2225 2226 func (*GetRangeResponse_Body_Chunk) isGetRangeResponse_Body_RangePart() {} 2227 2228 func (*GetRangeResponse_Body_SplitInfo) isGetRangeResponse_Body_RangePart() {} 2229 2230 // Get hash of object's payload part request body. 2231 type GetRangeHashRequest_Body struct { 2232 state protoimpl.MessageState 2233 sizeCache protoimpl.SizeCache 2234 unknownFields protoimpl.UnknownFields 2235 2236 // Address of the object that containing the requested payload range 2237 Address *grpc1.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 2238 // List of object's payload ranges to calculate homomorphic hash 2239 Ranges []*Range `protobuf:"bytes,2,rep,name=ranges,proto3" json:"ranges,omitempty"` 2240 // Binary salt to XOR object's payload ranges before hash calculation 2241 Salt []byte `protobuf:"bytes,3,opt,name=salt,proto3" json:"salt,omitempty"` 2242 // Checksum algorithm type 2243 Type grpc1.ChecksumType `protobuf:"varint,4,opt,name=type,proto3,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"` 2244 } 2245 2246 func (x *GetRangeHashRequest_Body) Reset() { 2247 *x = GetRangeHashRequest_Body{} 2248 if protoimpl.UnsafeEnabled { 2249 mi := &file_object_grpc_service_proto_msgTypes[31] 2250 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2251 ms.StoreMessageInfo(mi) 2252 } 2253 } 2254 2255 func (x *GetRangeHashRequest_Body) String() string { 2256 return protoimpl.X.MessageStringOf(x) 2257 } 2258 2259 func (*GetRangeHashRequest_Body) ProtoMessage() {} 2260 2261 func (x *GetRangeHashRequest_Body) ProtoReflect() protoreflect.Message { 2262 mi := &file_object_grpc_service_proto_msgTypes[31] 2263 if protoimpl.UnsafeEnabled && x != nil { 2264 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2265 if ms.LoadMessageInfo() == nil { 2266 ms.StoreMessageInfo(mi) 2267 } 2268 return ms 2269 } 2270 return mi.MessageOf(x) 2271 } 2272 2273 // Deprecated: Use GetRangeHashRequest_Body.ProtoReflect.Descriptor instead. 2274 func (*GetRangeHashRequest_Body) Descriptor() ([]byte, []int) { 2275 return file_object_grpc_service_proto_rawDescGZIP(), []int{14, 0} 2276 } 2277 2278 func (x *GetRangeHashRequest_Body) GetAddress() *grpc1.Address { 2279 if x != nil { 2280 return x.Address 2281 } 2282 return nil 2283 } 2284 2285 func (x *GetRangeHashRequest_Body) GetRanges() []*Range { 2286 if x != nil { 2287 return x.Ranges 2288 } 2289 return nil 2290 } 2291 2292 func (x *GetRangeHashRequest_Body) GetSalt() []byte { 2293 if x != nil { 2294 return x.Salt 2295 } 2296 return nil 2297 } 2298 2299 func (x *GetRangeHashRequest_Body) GetType() grpc1.ChecksumType { 2300 if x != nil { 2301 return x.Type 2302 } 2303 return grpc1.ChecksumType(0) 2304 } 2305 2306 // Get hash of object's payload part response body. 2307 type GetRangeHashResponse_Body struct { 2308 state protoimpl.MessageState 2309 sizeCache protoimpl.SizeCache 2310 unknownFields protoimpl.UnknownFields 2311 2312 // Checksum algorithm type 2313 Type grpc1.ChecksumType `protobuf:"varint,1,opt,name=type,proto3,enum=neo.fs.v2.refs.ChecksumType" json:"type,omitempty"` 2314 // List of range hashes in a binary format 2315 HashList [][]byte `protobuf:"bytes,2,rep,name=hash_list,json=hashList,proto3" json:"hash_list,omitempty"` 2316 } 2317 2318 func (x *GetRangeHashResponse_Body) Reset() { 2319 *x = GetRangeHashResponse_Body{} 2320 if protoimpl.UnsafeEnabled { 2321 mi := &file_object_grpc_service_proto_msgTypes[32] 2322 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2323 ms.StoreMessageInfo(mi) 2324 } 2325 } 2326 2327 func (x *GetRangeHashResponse_Body) String() string { 2328 return protoimpl.X.MessageStringOf(x) 2329 } 2330 2331 func (*GetRangeHashResponse_Body) ProtoMessage() {} 2332 2333 func (x *GetRangeHashResponse_Body) ProtoReflect() protoreflect.Message { 2334 mi := &file_object_grpc_service_proto_msgTypes[32] 2335 if protoimpl.UnsafeEnabled && x != nil { 2336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2337 if ms.LoadMessageInfo() == nil { 2338 ms.StoreMessageInfo(mi) 2339 } 2340 return ms 2341 } 2342 return mi.MessageOf(x) 2343 } 2344 2345 // Deprecated: Use GetRangeHashResponse_Body.ProtoReflect.Descriptor instead. 2346 func (*GetRangeHashResponse_Body) Descriptor() ([]byte, []int) { 2347 return file_object_grpc_service_proto_rawDescGZIP(), []int{15, 0} 2348 } 2349 2350 func (x *GetRangeHashResponse_Body) GetType() grpc1.ChecksumType { 2351 if x != nil { 2352 return x.Type 2353 } 2354 return grpc1.ChecksumType(0) 2355 } 2356 2357 func (x *GetRangeHashResponse_Body) GetHashList() [][]byte { 2358 if x != nil { 2359 return x.HashList 2360 } 2361 return nil 2362 } 2363 2364 var File_object_grpc_service_proto protoreflect.FileDescriptor 2365 2366 var file_object_grpc_service_proto_rawDesc = []byte{ 2367 0x0a, 0x19, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 2368 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6e, 0x65, 0x6f, 2369 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x17, 0x6f, 2370 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 2371 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x72, 0x65, 0x66, 0x73, 0x2f, 0x67, 0x72, 0x70, 2372 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x73, 2373 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 2374 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x02, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 2375 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 2376 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2377 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 2378 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 2379 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 2380 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 2381 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 2382 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 2383 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 2384 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 2385 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 2386 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 2387 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 2388 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x4b, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 2389 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 2390 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 2391 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 2392 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 2393 0x03, 0x72, 0x61, 0x77, 0x22, 0xb9, 0x04, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 2394 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 2395 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 2396 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2397 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 2398 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 2399 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 2400 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 2401 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 2402 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 2403 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 2404 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 2405 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 2406 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 2407 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xd5, 0x02, 0x0a, 0x04, 0x42, 0x6f, 0x64, 2408 0x79, 0x12, 0x3d, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 2409 0x27, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2410 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 2411 0x6f, 0x64, 0x79, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x48, 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 2412 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 2413 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x70, 0x6c, 0x69, 2414 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 2415 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 2416 0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6c, 2417 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0xa8, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 2418 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 2419 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 2420 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 2421 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 2422 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2423 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 2424 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 2425 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2426 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2427 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 2428 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 2429 0x22, 0x9b, 0x04, 0x0a, 0x0a, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 2430 0x35, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 2431 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 2432 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 2433 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 2434 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 2435 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 2436 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 2437 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 2438 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 2439 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2440 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2441 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 2442 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 2443 0x1a, 0xbb, 0x02, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x3c, 0x0a, 0x04, 0x69, 0x6e, 0x69, 2444 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 2445 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 2446 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x48, 2447 0x00, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 2448 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x1a, 2449 0xcd, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 2450 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 2451 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 2452 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 2453 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 2454 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 2455 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x09, 0x73, 2456 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 2457 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 2458 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 2459 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 2460 0x70, 0x69, 0x65, 0x73, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 2461 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x42, 2462 0x0d, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x22, 0xa0, 2463 0x02, 0x0a, 0x0b, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 2464 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 2465 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 2466 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 2467 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 2468 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 2469 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 2470 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 2471 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 2472 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 2473 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2474 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2475 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 2476 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 2477 0x65, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 2478 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 2479 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 2480 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x08, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 2481 0x64, 0x22, 0x9e, 0x02, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 2482 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 2483 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 2484 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 2485 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 2486 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 2487 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 2488 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 2489 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 2490 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 2491 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 2492 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 2493 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 2494 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 2495 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 2496 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 2497 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 2498 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 2499 0x73, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 2500 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 2501 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 2502 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 2503 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 2504 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 2505 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2506 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2507 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 2508 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 2509 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2510 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 2511 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 2512 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 2513 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x3d, 0x0a, 0x04, 2514 0x42, 0x6f, 0x64, 0x79, 0x12, 0x35, 0x0a, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 2515 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 2516 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 2517 0x52, 0x09, 0x74, 0x6f, 0x6d, 0x62, 0x73, 0x74, 0x6f, 0x6e, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x0b, 2518 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x62, 2519 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2520 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 2521 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 2522 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 2523 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 2524 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 2525 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 2526 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 2527 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 2528 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 2529 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 2530 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 2531 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x68, 0x0a, 2532 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 2533 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 2534 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 2535 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 2536 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6d, 0x61, 0x69, 2537 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 2538 0x28, 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x48, 0x65, 0x61, 0x64, 2539 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 2540 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 2541 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2542 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 2543 0x72, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 2544 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2545 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 2546 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb7, 0x03, 0x0a, 0x0c, 0x48, 2547 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x62, 2548 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2549 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 2550 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 2551 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 2552 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2553 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 2554 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 2555 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 2556 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 2557 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 2558 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2559 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 2560 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 2561 0x1a, 0xd1, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x3f, 0x0a, 0x06, 0x68, 0x65, 0x61, 2562 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2563 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 2564 0x64, 0x65, 0x72, 0x57, 0x69, 0x74, 0x68, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 2565 0x48, 0x00, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0c, 0x73, 0x68, 2566 0x6f, 0x72, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 2567 0x32, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 2568 0x65, 0x63, 0x74, 0x2e, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 2569 0x00, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3c, 2570 0x0a, 0x0a, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 2571 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 2572 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 2573 0x00, 0x52, 0x09, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x06, 0x0a, 0x04, 2574 0x68, 0x65, 0x61, 0x64, 0x22, 0xfb, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 2575 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 2576 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2577 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 2578 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 2579 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 2580 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2581 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2582 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 2583 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 2584 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 2585 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 2586 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 2587 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 2588 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x95, 0x02, 0x0a, 0x04, 0x42, 2589 0x6f, 0x64, 0x79, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 2590 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2591 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 2592 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 2593 0x72, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 2594 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 2595 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 2596 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 2597 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 2598 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 2599 0x74, 0x65, 0x72, 0x73, 0x1a, 0x6c, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x3a, 2600 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 2601 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 2602 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 2603 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 2604 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 2605 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 2606 0x75, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 2607 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 2608 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 2609 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 2610 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 2611 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 2612 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2613 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 2614 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 2615 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 2616 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2617 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 2618 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 2619 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 2620 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x04, 2621 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x69, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 2622 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2623 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 2624 0x06, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x05, 0x52, 0x61, 0x6e, 0x67, 0x65, 2625 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 2626 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 2627 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 2628 0x22, 0xe3, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 2629 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 2630 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 2631 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 2632 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 2633 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 2634 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2635 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2636 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 2637 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 2638 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 2639 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 2640 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 2641 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 2642 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x7a, 0x0a, 0x04, 0x42, 0x6f, 2643 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 2644 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 2645 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 2646 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 2647 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2648 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x05, 0x72, 2649 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 2650 0x08, 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0xd7, 0x02, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x61, 2651 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x62, 2652 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2653 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 2654 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 2655 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 2656 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 2657 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 2658 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 2659 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 2660 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 2661 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 2662 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 2663 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2664 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 2665 0x61, 0x64, 0x65, 0x72, 0x1a, 0x6a, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x16, 0x0a, 0x05, 2666 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x63, 2667 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 2668 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 2669 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x53, 0x70, 0x6c, 0x69, 2670 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 2671 0x66, 0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 2672 0x22, 0xa2, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 2673 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 2674 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 2675 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 2676 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 2677 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 2678 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 2679 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 2680 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 2681 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 2682 0x51, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 2683 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 2684 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 2685 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 2686 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 2687 0x65, 0x72, 0x1a, 0xb0, 0x01, 0x0a, 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x31, 0x0a, 0x07, 0x61, 2688 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 2689 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x41, 0x64, 2690 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2f, 2691 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 2692 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 2693 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 2694 0x12, 0x0a, 0x04, 0x73, 0x61, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x73, 2695 0x61, 0x6c, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 2696 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 2697 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 2698 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xca, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 2699 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 2700 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 2701 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 2702 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 2703 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 2704 0x46, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 2705 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2706 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2707 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0a, 0x6d, 0x65, 0x74, 2708 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x69, 0x66, 2709 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 2710 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 2711 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 2712 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c, 0x76, 2713 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0x55, 0x0a, 0x04, 0x42, 2714 0x6f, 0x64, 0x79, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2715 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 2716 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 2717 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x69, 2718 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x4c, 0x69, 2719 0x73, 0x74, 0x32, 0xb2, 0x04, 0x0a, 0x0d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x72, 2720 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x6e, 0x65, 2721 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 2722 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 2723 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 2724 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x03, 0x50, 0x75, 2725 0x74, 0x12, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 2726 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2727 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2728 0x63, 0x74, 0x2e, 0x50, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 2729 0x12, 0x4b, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 2730 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x65, 2731 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6e, 0x65, 2732 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 2733 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 2734 0x04, 0x48, 0x65, 0x61, 0x64, 0x12, 0x1d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 2735 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 2736 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 2737 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 2738 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x06, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1f, 2739 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 2740 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2741 0x20, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2742 0x63, 0x74, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2743 0x65, 0x30, 0x01, 0x12, 0x53, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 2744 0x21, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2745 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 2746 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 2747 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 2748 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 2749 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 2750 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 2751 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 2752 0x26, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 2753 0x63, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x61, 0x73, 0x68, 0x52, 2754 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x5b, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 2755 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x75, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 2756 0x61, 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 2757 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 2758 0x3b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xaa, 0x02, 0x1a, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 2759 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x4f, 0x62, 2760 0x6a, 0x65, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2761 } 2762 2763 var ( 2764 file_object_grpc_service_proto_rawDescOnce sync.Once 2765 file_object_grpc_service_proto_rawDescData = file_object_grpc_service_proto_rawDesc 2766 ) 2767 2768 func file_object_grpc_service_proto_rawDescGZIP() []byte { 2769 file_object_grpc_service_proto_rawDescOnce.Do(func() { 2770 file_object_grpc_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_object_grpc_service_proto_rawDescData) 2771 }) 2772 return file_object_grpc_service_proto_rawDescData 2773 } 2774 2775 var file_object_grpc_service_proto_msgTypes = make([]protoimpl.MessageInfo, 33) 2776 var file_object_grpc_service_proto_goTypes = []interface{}{ 2777 (*GetRequest)(nil), // 0: neo.fs.v2.object.GetRequest 2778 (*GetResponse)(nil), // 1: neo.fs.v2.object.GetResponse 2779 (*PutRequest)(nil), // 2: neo.fs.v2.object.PutRequest 2780 (*PutResponse)(nil), // 3: neo.fs.v2.object.PutResponse 2781 (*DeleteRequest)(nil), // 4: neo.fs.v2.object.DeleteRequest 2782 (*DeleteResponse)(nil), // 5: neo.fs.v2.object.DeleteResponse 2783 (*HeadRequest)(nil), // 6: neo.fs.v2.object.HeadRequest 2784 (*HeaderWithSignature)(nil), // 7: neo.fs.v2.object.HeaderWithSignature 2785 (*HeadResponse)(nil), // 8: neo.fs.v2.object.HeadResponse 2786 (*SearchRequest)(nil), // 9: neo.fs.v2.object.SearchRequest 2787 (*SearchResponse)(nil), // 10: neo.fs.v2.object.SearchResponse 2788 (*Range)(nil), // 11: neo.fs.v2.object.Range 2789 (*GetRangeRequest)(nil), // 12: neo.fs.v2.object.GetRangeRequest 2790 (*GetRangeResponse)(nil), // 13: neo.fs.v2.object.GetRangeResponse 2791 (*GetRangeHashRequest)(nil), // 14: neo.fs.v2.object.GetRangeHashRequest 2792 (*GetRangeHashResponse)(nil), // 15: neo.fs.v2.object.GetRangeHashResponse 2793 (*GetRequest_Body)(nil), // 16: neo.fs.v2.object.GetRequest.Body 2794 (*GetResponse_Body)(nil), // 17: neo.fs.v2.object.GetResponse.Body 2795 (*GetResponse_Body_Init)(nil), // 18: neo.fs.v2.object.GetResponse.Body.Init 2796 (*PutRequest_Body)(nil), // 19: neo.fs.v2.object.PutRequest.Body 2797 (*PutRequest_Body_Init)(nil), // 20: neo.fs.v2.object.PutRequest.Body.Init 2798 (*PutResponse_Body)(nil), // 21: neo.fs.v2.object.PutResponse.Body 2799 (*DeleteRequest_Body)(nil), // 22: neo.fs.v2.object.DeleteRequest.Body 2800 (*DeleteResponse_Body)(nil), // 23: neo.fs.v2.object.DeleteResponse.Body 2801 (*HeadRequest_Body)(nil), // 24: neo.fs.v2.object.HeadRequest.Body 2802 (*HeadResponse_Body)(nil), // 25: neo.fs.v2.object.HeadResponse.Body 2803 (*SearchRequest_Body)(nil), // 26: neo.fs.v2.object.SearchRequest.Body 2804 (*SearchRequest_Body_Filter)(nil), // 27: neo.fs.v2.object.SearchRequest.Body.Filter 2805 (*SearchResponse_Body)(nil), // 28: neo.fs.v2.object.SearchResponse.Body 2806 (*GetRangeRequest_Body)(nil), // 29: neo.fs.v2.object.GetRangeRequest.Body 2807 (*GetRangeResponse_Body)(nil), // 30: neo.fs.v2.object.GetRangeResponse.Body 2808 (*GetRangeHashRequest_Body)(nil), // 31: neo.fs.v2.object.GetRangeHashRequest.Body 2809 (*GetRangeHashResponse_Body)(nil), // 32: neo.fs.v2.object.GetRangeHashResponse.Body 2810 (*grpc.RequestMetaHeader)(nil), // 33: neo.fs.v2.session.RequestMetaHeader 2811 (*grpc.RequestVerificationHeader)(nil), // 34: neo.fs.v2.session.RequestVerificationHeader 2812 (*grpc.ResponseMetaHeader)(nil), // 35: neo.fs.v2.session.ResponseMetaHeader 2813 (*grpc.ResponseVerificationHeader)(nil), // 36: neo.fs.v2.session.ResponseVerificationHeader 2814 (*Header)(nil), // 37: neo.fs.v2.object.Header 2815 (*grpc1.Signature)(nil), // 38: neo.fs.v2.refs.Signature 2816 (*grpc1.Address)(nil), // 39: neo.fs.v2.refs.Address 2817 (*SplitInfo)(nil), // 40: neo.fs.v2.object.SplitInfo 2818 (*grpc1.ObjectID)(nil), // 41: neo.fs.v2.refs.ObjectID 2819 (*ShortHeader)(nil), // 42: neo.fs.v2.object.ShortHeader 2820 (*grpc1.ContainerID)(nil), // 43: neo.fs.v2.refs.ContainerID 2821 (MatchType)(0), // 44: neo.fs.v2.object.MatchType 2822 (grpc1.ChecksumType)(0), // 45: neo.fs.v2.refs.ChecksumType 2823 } 2824 var file_object_grpc_service_proto_depIdxs = []int32{ 2825 16, // 0: neo.fs.v2.object.GetRequest.body:type_name -> neo.fs.v2.object.GetRequest.Body 2826 33, // 1: neo.fs.v2.object.GetRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2827 34, // 2: neo.fs.v2.object.GetRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2828 17, // 3: neo.fs.v2.object.GetResponse.body:type_name -> neo.fs.v2.object.GetResponse.Body 2829 35, // 4: neo.fs.v2.object.GetResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2830 36, // 5: neo.fs.v2.object.GetResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2831 19, // 6: neo.fs.v2.object.PutRequest.body:type_name -> neo.fs.v2.object.PutRequest.Body 2832 33, // 7: neo.fs.v2.object.PutRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2833 34, // 8: neo.fs.v2.object.PutRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2834 21, // 9: neo.fs.v2.object.PutResponse.body:type_name -> neo.fs.v2.object.PutResponse.Body 2835 35, // 10: neo.fs.v2.object.PutResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2836 36, // 11: neo.fs.v2.object.PutResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2837 22, // 12: neo.fs.v2.object.DeleteRequest.body:type_name -> neo.fs.v2.object.DeleteRequest.Body 2838 33, // 13: neo.fs.v2.object.DeleteRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2839 34, // 14: neo.fs.v2.object.DeleteRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2840 23, // 15: neo.fs.v2.object.DeleteResponse.body:type_name -> neo.fs.v2.object.DeleteResponse.Body 2841 35, // 16: neo.fs.v2.object.DeleteResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2842 36, // 17: neo.fs.v2.object.DeleteResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2843 24, // 18: neo.fs.v2.object.HeadRequest.body:type_name -> neo.fs.v2.object.HeadRequest.Body 2844 33, // 19: neo.fs.v2.object.HeadRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2845 34, // 20: neo.fs.v2.object.HeadRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2846 37, // 21: neo.fs.v2.object.HeaderWithSignature.header:type_name -> neo.fs.v2.object.Header 2847 38, // 22: neo.fs.v2.object.HeaderWithSignature.signature:type_name -> neo.fs.v2.refs.Signature 2848 25, // 23: neo.fs.v2.object.HeadResponse.body:type_name -> neo.fs.v2.object.HeadResponse.Body 2849 35, // 24: neo.fs.v2.object.HeadResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2850 36, // 25: neo.fs.v2.object.HeadResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2851 26, // 26: neo.fs.v2.object.SearchRequest.body:type_name -> neo.fs.v2.object.SearchRequest.Body 2852 33, // 27: neo.fs.v2.object.SearchRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2853 34, // 28: neo.fs.v2.object.SearchRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2854 28, // 29: neo.fs.v2.object.SearchResponse.body:type_name -> neo.fs.v2.object.SearchResponse.Body 2855 35, // 30: neo.fs.v2.object.SearchResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2856 36, // 31: neo.fs.v2.object.SearchResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2857 29, // 32: neo.fs.v2.object.GetRangeRequest.body:type_name -> neo.fs.v2.object.GetRangeRequest.Body 2858 33, // 33: neo.fs.v2.object.GetRangeRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2859 34, // 34: neo.fs.v2.object.GetRangeRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2860 30, // 35: neo.fs.v2.object.GetRangeResponse.body:type_name -> neo.fs.v2.object.GetRangeResponse.Body 2861 35, // 36: neo.fs.v2.object.GetRangeResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2862 36, // 37: neo.fs.v2.object.GetRangeResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2863 31, // 38: neo.fs.v2.object.GetRangeHashRequest.body:type_name -> neo.fs.v2.object.GetRangeHashRequest.Body 2864 33, // 39: neo.fs.v2.object.GetRangeHashRequest.meta_header:type_name -> neo.fs.v2.session.RequestMetaHeader 2865 34, // 40: neo.fs.v2.object.GetRangeHashRequest.verify_header:type_name -> neo.fs.v2.session.RequestVerificationHeader 2866 32, // 41: neo.fs.v2.object.GetRangeHashResponse.body:type_name -> neo.fs.v2.object.GetRangeHashResponse.Body 2867 35, // 42: neo.fs.v2.object.GetRangeHashResponse.meta_header:type_name -> neo.fs.v2.session.ResponseMetaHeader 2868 36, // 43: neo.fs.v2.object.GetRangeHashResponse.verify_header:type_name -> neo.fs.v2.session.ResponseVerificationHeader 2869 39, // 44: neo.fs.v2.object.GetRequest.Body.address:type_name -> neo.fs.v2.refs.Address 2870 18, // 45: neo.fs.v2.object.GetResponse.Body.init:type_name -> neo.fs.v2.object.GetResponse.Body.Init 2871 40, // 46: neo.fs.v2.object.GetResponse.Body.split_info:type_name -> neo.fs.v2.object.SplitInfo 2872 41, // 47: neo.fs.v2.object.GetResponse.Body.Init.object_id:type_name -> neo.fs.v2.refs.ObjectID 2873 38, // 48: neo.fs.v2.object.GetResponse.Body.Init.signature:type_name -> neo.fs.v2.refs.Signature 2874 37, // 49: neo.fs.v2.object.GetResponse.Body.Init.header:type_name -> neo.fs.v2.object.Header 2875 20, // 50: neo.fs.v2.object.PutRequest.Body.init:type_name -> neo.fs.v2.object.PutRequest.Body.Init 2876 41, // 51: neo.fs.v2.object.PutRequest.Body.Init.object_id:type_name -> neo.fs.v2.refs.ObjectID 2877 38, // 52: neo.fs.v2.object.PutRequest.Body.Init.signature:type_name -> neo.fs.v2.refs.Signature 2878 37, // 53: neo.fs.v2.object.PutRequest.Body.Init.header:type_name -> neo.fs.v2.object.Header 2879 41, // 54: neo.fs.v2.object.PutResponse.Body.object_id:type_name -> neo.fs.v2.refs.ObjectID 2880 39, // 55: neo.fs.v2.object.DeleteRequest.Body.address:type_name -> neo.fs.v2.refs.Address 2881 39, // 56: neo.fs.v2.object.DeleteResponse.Body.tombstone:type_name -> neo.fs.v2.refs.Address 2882 39, // 57: neo.fs.v2.object.HeadRequest.Body.address:type_name -> neo.fs.v2.refs.Address 2883 7, // 58: neo.fs.v2.object.HeadResponse.Body.header:type_name -> neo.fs.v2.object.HeaderWithSignature 2884 42, // 59: neo.fs.v2.object.HeadResponse.Body.short_header:type_name -> neo.fs.v2.object.ShortHeader 2885 40, // 60: neo.fs.v2.object.HeadResponse.Body.split_info:type_name -> neo.fs.v2.object.SplitInfo 2886 43, // 61: neo.fs.v2.object.SearchRequest.Body.container_id:type_name -> neo.fs.v2.refs.ContainerID 2887 27, // 62: neo.fs.v2.object.SearchRequest.Body.filters:type_name -> neo.fs.v2.object.SearchRequest.Body.Filter 2888 44, // 63: neo.fs.v2.object.SearchRequest.Body.Filter.match_type:type_name -> neo.fs.v2.object.MatchType 2889 41, // 64: neo.fs.v2.object.SearchResponse.Body.id_list:type_name -> neo.fs.v2.refs.ObjectID 2890 39, // 65: neo.fs.v2.object.GetRangeRequest.Body.address:type_name -> neo.fs.v2.refs.Address 2891 11, // 66: neo.fs.v2.object.GetRangeRequest.Body.range:type_name -> neo.fs.v2.object.Range 2892 40, // 67: neo.fs.v2.object.GetRangeResponse.Body.split_info:type_name -> neo.fs.v2.object.SplitInfo 2893 39, // 68: neo.fs.v2.object.GetRangeHashRequest.Body.address:type_name -> neo.fs.v2.refs.Address 2894 11, // 69: neo.fs.v2.object.GetRangeHashRequest.Body.ranges:type_name -> neo.fs.v2.object.Range 2895 45, // 70: neo.fs.v2.object.GetRangeHashRequest.Body.type:type_name -> neo.fs.v2.refs.ChecksumType 2896 45, // 71: neo.fs.v2.object.GetRangeHashResponse.Body.type:type_name -> neo.fs.v2.refs.ChecksumType 2897 0, // 72: neo.fs.v2.object.ObjectService.Get:input_type -> neo.fs.v2.object.GetRequest 2898 2, // 73: neo.fs.v2.object.ObjectService.Put:input_type -> neo.fs.v2.object.PutRequest 2899 4, // 74: neo.fs.v2.object.ObjectService.Delete:input_type -> neo.fs.v2.object.DeleteRequest 2900 6, // 75: neo.fs.v2.object.ObjectService.Head:input_type -> neo.fs.v2.object.HeadRequest 2901 9, // 76: neo.fs.v2.object.ObjectService.Search:input_type -> neo.fs.v2.object.SearchRequest 2902 12, // 77: neo.fs.v2.object.ObjectService.GetRange:input_type -> neo.fs.v2.object.GetRangeRequest 2903 14, // 78: neo.fs.v2.object.ObjectService.GetRangeHash:input_type -> neo.fs.v2.object.GetRangeHashRequest 2904 1, // 79: neo.fs.v2.object.ObjectService.Get:output_type -> neo.fs.v2.object.GetResponse 2905 3, // 80: neo.fs.v2.object.ObjectService.Put:output_type -> neo.fs.v2.object.PutResponse 2906 5, // 81: neo.fs.v2.object.ObjectService.Delete:output_type -> neo.fs.v2.object.DeleteResponse 2907 8, // 82: neo.fs.v2.object.ObjectService.Head:output_type -> neo.fs.v2.object.HeadResponse 2908 10, // 83: neo.fs.v2.object.ObjectService.Search:output_type -> neo.fs.v2.object.SearchResponse 2909 13, // 84: neo.fs.v2.object.ObjectService.GetRange:output_type -> neo.fs.v2.object.GetRangeResponse 2910 15, // 85: neo.fs.v2.object.ObjectService.GetRangeHash:output_type -> neo.fs.v2.object.GetRangeHashResponse 2911 79, // [79:86] is the sub-list for method output_type 2912 72, // [72:79] is the sub-list for method input_type 2913 72, // [72:72] is the sub-list for extension type_name 2914 72, // [72:72] is the sub-list for extension extendee 2915 0, // [0:72] is the sub-list for field type_name 2916 } 2917 2918 func init() { file_object_grpc_service_proto_init() } 2919 func file_object_grpc_service_proto_init() { 2920 if File_object_grpc_service_proto != nil { 2921 return 2922 } 2923 file_object_grpc_types_proto_init() 2924 if !protoimpl.UnsafeEnabled { 2925 file_object_grpc_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2926 switch v := v.(*GetRequest); i { 2927 case 0: 2928 return &v.state 2929 case 1: 2930 return &v.sizeCache 2931 case 2: 2932 return &v.unknownFields 2933 default: 2934 return nil 2935 } 2936 } 2937 file_object_grpc_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2938 switch v := v.(*GetResponse); i { 2939 case 0: 2940 return &v.state 2941 case 1: 2942 return &v.sizeCache 2943 case 2: 2944 return &v.unknownFields 2945 default: 2946 return nil 2947 } 2948 } 2949 file_object_grpc_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2950 switch v := v.(*PutRequest); i { 2951 case 0: 2952 return &v.state 2953 case 1: 2954 return &v.sizeCache 2955 case 2: 2956 return &v.unknownFields 2957 default: 2958 return nil 2959 } 2960 } 2961 file_object_grpc_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2962 switch v := v.(*PutResponse); i { 2963 case 0: 2964 return &v.state 2965 case 1: 2966 return &v.sizeCache 2967 case 2: 2968 return &v.unknownFields 2969 default: 2970 return nil 2971 } 2972 } 2973 file_object_grpc_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2974 switch v := v.(*DeleteRequest); i { 2975 case 0: 2976 return &v.state 2977 case 1: 2978 return &v.sizeCache 2979 case 2: 2980 return &v.unknownFields 2981 default: 2982 return nil 2983 } 2984 } 2985 file_object_grpc_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2986 switch v := v.(*DeleteResponse); i { 2987 case 0: 2988 return &v.state 2989 case 1: 2990 return &v.sizeCache 2991 case 2: 2992 return &v.unknownFields 2993 default: 2994 return nil 2995 } 2996 } 2997 file_object_grpc_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2998 switch v := v.(*HeadRequest); i { 2999 case 0: 3000 return &v.state 3001 case 1: 3002 return &v.sizeCache 3003 case 2: 3004 return &v.unknownFields 3005 default: 3006 return nil 3007 } 3008 } 3009 file_object_grpc_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3010 switch v := v.(*HeaderWithSignature); i { 3011 case 0: 3012 return &v.state 3013 case 1: 3014 return &v.sizeCache 3015 case 2: 3016 return &v.unknownFields 3017 default: 3018 return nil 3019 } 3020 } 3021 file_object_grpc_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3022 switch v := v.(*HeadResponse); i { 3023 case 0: 3024 return &v.state 3025 case 1: 3026 return &v.sizeCache 3027 case 2: 3028 return &v.unknownFields 3029 default: 3030 return nil 3031 } 3032 } 3033 file_object_grpc_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3034 switch v := v.(*SearchRequest); i { 3035 case 0: 3036 return &v.state 3037 case 1: 3038 return &v.sizeCache 3039 case 2: 3040 return &v.unknownFields 3041 default: 3042 return nil 3043 } 3044 } 3045 file_object_grpc_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3046 switch v := v.(*SearchResponse); i { 3047 case 0: 3048 return &v.state 3049 case 1: 3050 return &v.sizeCache 3051 case 2: 3052 return &v.unknownFields 3053 default: 3054 return nil 3055 } 3056 } 3057 file_object_grpc_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3058 switch v := v.(*Range); i { 3059 case 0: 3060 return &v.state 3061 case 1: 3062 return &v.sizeCache 3063 case 2: 3064 return &v.unknownFields 3065 default: 3066 return nil 3067 } 3068 } 3069 file_object_grpc_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3070 switch v := v.(*GetRangeRequest); i { 3071 case 0: 3072 return &v.state 3073 case 1: 3074 return &v.sizeCache 3075 case 2: 3076 return &v.unknownFields 3077 default: 3078 return nil 3079 } 3080 } 3081 file_object_grpc_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3082 switch v := v.(*GetRangeResponse); i { 3083 case 0: 3084 return &v.state 3085 case 1: 3086 return &v.sizeCache 3087 case 2: 3088 return &v.unknownFields 3089 default: 3090 return nil 3091 } 3092 } 3093 file_object_grpc_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3094 switch v := v.(*GetRangeHashRequest); i { 3095 case 0: 3096 return &v.state 3097 case 1: 3098 return &v.sizeCache 3099 case 2: 3100 return &v.unknownFields 3101 default: 3102 return nil 3103 } 3104 } 3105 file_object_grpc_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3106 switch v := v.(*GetRangeHashResponse); i { 3107 case 0: 3108 return &v.state 3109 case 1: 3110 return &v.sizeCache 3111 case 2: 3112 return &v.unknownFields 3113 default: 3114 return nil 3115 } 3116 } 3117 file_object_grpc_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3118 switch v := v.(*GetRequest_Body); i { 3119 case 0: 3120 return &v.state 3121 case 1: 3122 return &v.sizeCache 3123 case 2: 3124 return &v.unknownFields 3125 default: 3126 return nil 3127 } 3128 } 3129 file_object_grpc_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3130 switch v := v.(*GetResponse_Body); i { 3131 case 0: 3132 return &v.state 3133 case 1: 3134 return &v.sizeCache 3135 case 2: 3136 return &v.unknownFields 3137 default: 3138 return nil 3139 } 3140 } 3141 file_object_grpc_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3142 switch v := v.(*GetResponse_Body_Init); i { 3143 case 0: 3144 return &v.state 3145 case 1: 3146 return &v.sizeCache 3147 case 2: 3148 return &v.unknownFields 3149 default: 3150 return nil 3151 } 3152 } 3153 file_object_grpc_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3154 switch v := v.(*PutRequest_Body); i { 3155 case 0: 3156 return &v.state 3157 case 1: 3158 return &v.sizeCache 3159 case 2: 3160 return &v.unknownFields 3161 default: 3162 return nil 3163 } 3164 } 3165 file_object_grpc_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3166 switch v := v.(*PutRequest_Body_Init); i { 3167 case 0: 3168 return &v.state 3169 case 1: 3170 return &v.sizeCache 3171 case 2: 3172 return &v.unknownFields 3173 default: 3174 return nil 3175 } 3176 } 3177 file_object_grpc_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3178 switch v := v.(*PutResponse_Body); i { 3179 case 0: 3180 return &v.state 3181 case 1: 3182 return &v.sizeCache 3183 case 2: 3184 return &v.unknownFields 3185 default: 3186 return nil 3187 } 3188 } 3189 file_object_grpc_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3190 switch v := v.(*DeleteRequest_Body); i { 3191 case 0: 3192 return &v.state 3193 case 1: 3194 return &v.sizeCache 3195 case 2: 3196 return &v.unknownFields 3197 default: 3198 return nil 3199 } 3200 } 3201 file_object_grpc_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3202 switch v := v.(*DeleteResponse_Body); i { 3203 case 0: 3204 return &v.state 3205 case 1: 3206 return &v.sizeCache 3207 case 2: 3208 return &v.unknownFields 3209 default: 3210 return nil 3211 } 3212 } 3213 file_object_grpc_service_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3214 switch v := v.(*HeadRequest_Body); i { 3215 case 0: 3216 return &v.state 3217 case 1: 3218 return &v.sizeCache 3219 case 2: 3220 return &v.unknownFields 3221 default: 3222 return nil 3223 } 3224 } 3225 file_object_grpc_service_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3226 switch v := v.(*HeadResponse_Body); i { 3227 case 0: 3228 return &v.state 3229 case 1: 3230 return &v.sizeCache 3231 case 2: 3232 return &v.unknownFields 3233 default: 3234 return nil 3235 } 3236 } 3237 file_object_grpc_service_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 3238 switch v := v.(*SearchRequest_Body); i { 3239 case 0: 3240 return &v.state 3241 case 1: 3242 return &v.sizeCache 3243 case 2: 3244 return &v.unknownFields 3245 default: 3246 return nil 3247 } 3248 } 3249 file_object_grpc_service_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 3250 switch v := v.(*SearchRequest_Body_Filter); i { 3251 case 0: 3252 return &v.state 3253 case 1: 3254 return &v.sizeCache 3255 case 2: 3256 return &v.unknownFields 3257 default: 3258 return nil 3259 } 3260 } 3261 file_object_grpc_service_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 3262 switch v := v.(*SearchResponse_Body); i { 3263 case 0: 3264 return &v.state 3265 case 1: 3266 return &v.sizeCache 3267 case 2: 3268 return &v.unknownFields 3269 default: 3270 return nil 3271 } 3272 } 3273 file_object_grpc_service_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 3274 switch v := v.(*GetRangeRequest_Body); i { 3275 case 0: 3276 return &v.state 3277 case 1: 3278 return &v.sizeCache 3279 case 2: 3280 return &v.unknownFields 3281 default: 3282 return nil 3283 } 3284 } 3285 file_object_grpc_service_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 3286 switch v := v.(*GetRangeResponse_Body); i { 3287 case 0: 3288 return &v.state 3289 case 1: 3290 return &v.sizeCache 3291 case 2: 3292 return &v.unknownFields 3293 default: 3294 return nil 3295 } 3296 } 3297 file_object_grpc_service_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 3298 switch v := v.(*GetRangeHashRequest_Body); i { 3299 case 0: 3300 return &v.state 3301 case 1: 3302 return &v.sizeCache 3303 case 2: 3304 return &v.unknownFields 3305 default: 3306 return nil 3307 } 3308 } 3309 file_object_grpc_service_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 3310 switch v := v.(*GetRangeHashResponse_Body); i { 3311 case 0: 3312 return &v.state 3313 case 1: 3314 return &v.sizeCache 3315 case 2: 3316 return &v.unknownFields 3317 default: 3318 return nil 3319 } 3320 } 3321 } 3322 file_object_grpc_service_proto_msgTypes[17].OneofWrappers = []interface{}{ 3323 (*GetResponse_Body_Init_)(nil), 3324 (*GetResponse_Body_Chunk)(nil), 3325 (*GetResponse_Body_SplitInfo)(nil), 3326 } 3327 file_object_grpc_service_proto_msgTypes[19].OneofWrappers = []interface{}{ 3328 (*PutRequest_Body_Init_)(nil), 3329 (*PutRequest_Body_Chunk)(nil), 3330 } 3331 file_object_grpc_service_proto_msgTypes[25].OneofWrappers = []interface{}{ 3332 (*HeadResponse_Body_Header)(nil), 3333 (*HeadResponse_Body_ShortHeader)(nil), 3334 (*HeadResponse_Body_SplitInfo)(nil), 3335 } 3336 file_object_grpc_service_proto_msgTypes[30].OneofWrappers = []interface{}{ 3337 (*GetRangeResponse_Body_Chunk)(nil), 3338 (*GetRangeResponse_Body_SplitInfo)(nil), 3339 } 3340 type x struct{} 3341 out := protoimpl.TypeBuilder{ 3342 File: protoimpl.DescBuilder{ 3343 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3344 RawDescriptor: file_object_grpc_service_proto_rawDesc, 3345 NumEnums: 0, 3346 NumMessages: 33, 3347 NumExtensions: 0, 3348 NumServices: 1, 3349 }, 3350 GoTypes: file_object_grpc_service_proto_goTypes, 3351 DependencyIndexes: file_object_grpc_service_proto_depIdxs, 3352 MessageInfos: file_object_grpc_service_proto_msgTypes, 3353 }.Build() 3354 File_object_grpc_service_proto = out.File 3355 file_object_grpc_service_proto_rawDesc = nil 3356 file_object_grpc_service_proto_goTypes = nil 3357 file_object_grpc_service_proto_depIdxs = nil 3358 }