github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/object/convert.go (about) 1 package object 2 3 import ( 4 "fmt" 5 6 object "github.com/TrueCloudLab/frostfs-api-go/v2/object/grpc" 7 "github.com/TrueCloudLab/frostfs-api-go/v2/refs" 8 refsGRPC "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc" 9 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/grpc" 10 "github.com/TrueCloudLab/frostfs-api-go/v2/rpc/message" 11 "github.com/TrueCloudLab/frostfs-api-go/v2/session" 12 sessionGRPC "github.com/TrueCloudLab/frostfs-api-go/v2/session/grpc" 13 ) 14 15 func TypeToGRPCField(t Type) object.ObjectType { 16 return object.ObjectType(t) 17 } 18 19 func TypeFromGRPCField(t object.ObjectType) Type { 20 return Type(t) 21 } 22 23 func MatchTypeToGRPCField(t MatchType) object.MatchType { 24 return object.MatchType(t) 25 } 26 27 func MatchTypeFromGRPCField(t object.MatchType) MatchType { 28 return MatchType(t) 29 } 30 31 func (h *ShortHeader) ToGRPCMessage() grpc.Message { 32 var m *object.ShortHeader 33 34 if h != nil { 35 m = new(object.ShortHeader) 36 37 m.SetVersion(h.version.ToGRPCMessage().(*refsGRPC.Version)) 38 m.SetOwnerId(h.ownerID.ToGRPCMessage().(*refsGRPC.OwnerID)) 39 m.SetHomomorphicHash(h.homoHash.ToGRPCMessage().(*refsGRPC.Checksum)) 40 m.SetPayloadHash(h.payloadHash.ToGRPCMessage().(*refsGRPC.Checksum)) 41 m.SetObjectType(TypeToGRPCField(h.typ)) 42 m.SetCreationEpoch(h.creatEpoch) 43 m.SetPayloadLength(h.payloadLen) 44 } 45 46 return m 47 } 48 49 func (h *ShortHeader) FromGRPCMessage(m grpc.Message) error { 50 v, ok := m.(*object.ShortHeader) 51 if !ok { 52 return message.NewUnexpectedMessageType(m, v) 53 } 54 55 var err error 56 57 version := v.GetVersion() 58 if version == nil { 59 h.version = nil 60 } else { 61 if h.version == nil { 62 h.version = new(refs.Version) 63 } 64 65 err = h.version.FromGRPCMessage(version) 66 if err != nil { 67 return err 68 } 69 } 70 71 ownerID := v.GetOwnerId() 72 if ownerID == nil { 73 h.ownerID = nil 74 } else { 75 if h.ownerID == nil { 76 h.ownerID = new(refs.OwnerID) 77 } 78 79 err = h.ownerID.FromGRPCMessage(ownerID) 80 if err != nil { 81 return err 82 } 83 } 84 85 homoHash := v.GetHomomorphicHash() 86 if homoHash == nil { 87 h.homoHash = nil 88 } else { 89 if h.homoHash == nil { 90 h.homoHash = new(refs.Checksum) 91 } 92 93 err = h.homoHash.FromGRPCMessage(homoHash) 94 if err != nil { 95 return err 96 } 97 } 98 99 payloadHash := v.GetPayloadHash() 100 if payloadHash == nil { 101 h.payloadHash = nil 102 } else { 103 if h.payloadHash == nil { 104 h.payloadHash = new(refs.Checksum) 105 } 106 107 err = h.payloadHash.FromGRPCMessage(payloadHash) 108 if err != nil { 109 return err 110 } 111 } 112 113 h.typ = TypeFromGRPCField(v.GetObjectType()) 114 h.creatEpoch = v.GetCreationEpoch() 115 h.payloadLen = v.GetPayloadLength() 116 117 return nil 118 } 119 120 func (a *Attribute) ToGRPCMessage() grpc.Message { 121 var m *object.Header_Attribute 122 123 if a != nil { 124 m = new(object.Header_Attribute) 125 126 m.SetKey(a.key) 127 m.SetValue(a.val) 128 } 129 130 return m 131 } 132 133 func (a *Attribute) FromGRPCMessage(m grpc.Message) error { 134 v, ok := m.(*object.Header_Attribute) 135 if !ok { 136 return message.NewUnexpectedMessageType(m, v) 137 } 138 139 a.key = v.GetKey() 140 a.val = v.GetValue() 141 142 return nil 143 } 144 145 func AttributesToGRPC(xs []Attribute) (res []*object.Header_Attribute) { 146 if xs != nil { 147 res = make([]*object.Header_Attribute, 0, len(xs)) 148 149 for i := range xs { 150 res = append(res, xs[i].ToGRPCMessage().(*object.Header_Attribute)) 151 } 152 } 153 154 return 155 } 156 157 func AttributesFromGRPC(xs []*object.Header_Attribute) (res []Attribute, err error) { 158 if xs != nil { 159 res = make([]Attribute, len(xs)) 160 161 for i := range xs { 162 if xs[i] != nil { 163 err = res[i].FromGRPCMessage(xs[i]) 164 if err != nil { 165 return 166 } 167 } 168 } 169 } 170 171 return 172 } 173 174 func (h *SplitHeader) ToGRPCMessage() grpc.Message { 175 var m *object.Header_Split 176 177 if h != nil { 178 m = new(object.Header_Split) 179 180 m.SetParent(h.par.ToGRPCMessage().(*refsGRPC.ObjectID)) 181 m.SetPrevious(h.prev.ToGRPCMessage().(*refsGRPC.ObjectID)) 182 m.SetParentHeader(h.parHdr.ToGRPCMessage().(*object.Header)) 183 m.SetParentSignature(h.parSig.ToGRPCMessage().(*refsGRPC.Signature)) 184 m.SetChildren(refs.ObjectIDListToGRPCMessage(h.children)) 185 m.SetSplitId(h.splitID) 186 } 187 188 return m 189 } 190 191 func (h *SplitHeader) FromGRPCMessage(m grpc.Message) error { 192 v, ok := m.(*object.Header_Split) 193 if !ok { 194 return message.NewUnexpectedMessageType(m, v) 195 } 196 197 var err error 198 199 par := v.GetParent() 200 if par == nil { 201 h.par = nil 202 } else { 203 if h.par == nil { 204 h.par = new(refs.ObjectID) 205 } 206 207 err = h.par.FromGRPCMessage(par) 208 if err != nil { 209 return err 210 } 211 } 212 213 prev := v.GetPrevious() 214 if prev == nil { 215 h.prev = nil 216 } else { 217 if h.prev == nil { 218 h.prev = new(refs.ObjectID) 219 } 220 221 err = h.prev.FromGRPCMessage(prev) 222 if err != nil { 223 return err 224 } 225 } 226 227 parHdr := v.GetParentHeader() 228 if parHdr == nil { 229 h.parHdr = nil 230 } else { 231 if h.parHdr == nil { 232 h.parHdr = new(Header) 233 } 234 235 err = h.parHdr.FromGRPCMessage(parHdr) 236 if err != nil { 237 return err 238 } 239 } 240 241 parSig := v.GetParentSignature() 242 if parSig == nil { 243 h.parSig = nil 244 } else { 245 if h.parSig == nil { 246 h.parSig = new(refs.Signature) 247 } 248 249 err = h.parSig.FromGRPCMessage(parSig) 250 if err != nil { 251 return err 252 } 253 } 254 255 h.children, err = refs.ObjectIDListFromGRPCMessage(v.GetChildren()) 256 if err != nil { 257 return err 258 } 259 260 h.splitID = v.GetSplitId() 261 262 return nil 263 } 264 265 func (h *Header) ToGRPCMessage() grpc.Message { 266 var m *object.Header 267 268 if h != nil { 269 m = new(object.Header) 270 271 m.SetVersion(h.version.ToGRPCMessage().(*refsGRPC.Version)) 272 m.SetPayloadHash(h.payloadHash.ToGRPCMessage().(*refsGRPC.Checksum)) 273 m.SetOwnerId(h.ownerID.ToGRPCMessage().(*refsGRPC.OwnerID)) 274 m.SetHomomorphicHash(h.homoHash.ToGRPCMessage().(*refsGRPC.Checksum)) 275 m.SetContainerId(h.cid.ToGRPCMessage().(*refsGRPC.ContainerID)) 276 m.SetSessionToken(h.sessionToken.ToGRPCMessage().(*sessionGRPC.SessionToken)) 277 m.SetSplit(h.split.ToGRPCMessage().(*object.Header_Split)) 278 m.SetAttributes(AttributesToGRPC(h.attr)) 279 m.SetPayloadLength(h.payloadLen) 280 m.SetCreationEpoch(h.creatEpoch) 281 m.SetObjectType(TypeToGRPCField(h.typ)) 282 } 283 284 return m 285 } 286 287 func (h *Header) FromGRPCMessage(m grpc.Message) error { 288 v, ok := m.(*object.Header) 289 if !ok { 290 return message.NewUnexpectedMessageType(m, v) 291 } 292 293 var err error 294 295 version := v.GetVersion() 296 if version == nil { 297 h.version = nil 298 } else { 299 if h.version == nil { 300 h.version = new(refs.Version) 301 } 302 303 err = h.version.FromGRPCMessage(version) 304 if err != nil { 305 return err 306 } 307 } 308 309 payloadHash := v.GetPayloadHash() 310 if payloadHash == nil { 311 h.payloadHash = nil 312 } else { 313 if h.payloadHash == nil { 314 h.payloadHash = new(refs.Checksum) 315 } 316 317 err = h.payloadHash.FromGRPCMessage(payloadHash) 318 if err != nil { 319 return err 320 } 321 } 322 323 ownerID := v.GetOwnerId() 324 if ownerID == nil { 325 h.ownerID = nil 326 } else { 327 if h.ownerID == nil { 328 h.ownerID = new(refs.OwnerID) 329 } 330 331 err = h.ownerID.FromGRPCMessage(ownerID) 332 if err != nil { 333 return err 334 } 335 } 336 337 homoHash := v.GetHomomorphicHash() 338 if homoHash == nil { 339 h.homoHash = nil 340 } else { 341 if h.homoHash == nil { 342 h.homoHash = new(refs.Checksum) 343 } 344 345 err = h.homoHash.FromGRPCMessage(homoHash) 346 if err != nil { 347 return err 348 } 349 } 350 351 cid := v.GetContainerId() 352 if cid == nil { 353 h.cid = nil 354 } else { 355 if h.cid == nil { 356 h.cid = new(refs.ContainerID) 357 } 358 359 err = h.cid.FromGRPCMessage(cid) 360 if err != nil { 361 return err 362 } 363 } 364 365 sessionToken := v.GetSessionToken() 366 if sessionToken == nil { 367 h.sessionToken = nil 368 } else { 369 if h.sessionToken == nil { 370 h.sessionToken = new(session.Token) 371 } 372 373 err = h.sessionToken.FromGRPCMessage(sessionToken) 374 if err != nil { 375 return err 376 } 377 } 378 379 split := v.GetSplit() 380 if split == nil { 381 h.split = nil 382 } else { 383 if h.split == nil { 384 h.split = new(SplitHeader) 385 } 386 387 err = h.split.FromGRPCMessage(split) 388 if err != nil { 389 return err 390 } 391 } 392 393 h.attr, err = AttributesFromGRPC(v.GetAttributes()) 394 if err != nil { 395 return err 396 } 397 398 h.payloadLen = v.GetPayloadLength() 399 h.creatEpoch = v.GetCreationEpoch() 400 h.typ = TypeFromGRPCField(v.GetObjectType()) 401 402 return nil 403 } 404 405 func (h *HeaderWithSignature) ToGRPCMessage() grpc.Message { 406 var m *object.HeaderWithSignature 407 408 if h != nil { 409 m = new(object.HeaderWithSignature) 410 411 m.SetSignature(h.signature.ToGRPCMessage().(*refsGRPC.Signature)) 412 m.SetHeader(h.header.ToGRPCMessage().(*object.Header)) 413 } 414 415 return m 416 } 417 418 func (h *HeaderWithSignature) FromGRPCMessage(m grpc.Message) error { 419 v, ok := m.(*object.HeaderWithSignature) 420 if !ok { 421 return message.NewUnexpectedMessageType(m, v) 422 } 423 424 var err error 425 426 signature := v.GetSignature() 427 if signature == nil { 428 h.signature = nil 429 } else { 430 if h.signature == nil { 431 h.signature = new(refs.Signature) 432 } 433 434 err = h.signature.FromGRPCMessage(signature) 435 if err != nil { 436 return err 437 } 438 } 439 440 header := v.GetHeader() 441 if header == nil { 442 h.header = nil 443 } else { 444 if h.header == nil { 445 h.header = new(Header) 446 } 447 448 err = h.header.FromGRPCMessage(header) 449 } 450 451 return err 452 } 453 454 func (o *Object) ToGRPCMessage() grpc.Message { 455 var m *object.Object 456 457 if o != nil { 458 m = new(object.Object) 459 460 m.SetObjectId(o.objectID.ToGRPCMessage().(*refsGRPC.ObjectID)) 461 m.SetSignature(o.idSig.ToGRPCMessage().(*refsGRPC.Signature)) 462 m.SetHeader(o.header.ToGRPCMessage().(*object.Header)) 463 m.SetPayload(o.payload) 464 } 465 466 return m 467 } 468 469 func (o *Object) FromGRPCMessage(m grpc.Message) error { 470 v, ok := m.(*object.Object) 471 if !ok { 472 return message.NewUnexpectedMessageType(m, v) 473 } 474 475 var err error 476 477 objectID := v.GetObjectId() 478 if objectID == nil { 479 o.objectID = nil 480 } else { 481 if o.objectID == nil { 482 o.objectID = new(refs.ObjectID) 483 } 484 485 err = o.objectID.FromGRPCMessage(objectID) 486 if err != nil { 487 return err 488 } 489 } 490 491 idSig := v.GetSignature() 492 if idSig == nil { 493 o.idSig = nil 494 } else { 495 if o.idSig == nil { 496 o.idSig = new(refs.Signature) 497 } 498 499 err = o.idSig.FromGRPCMessage(idSig) 500 if err != nil { 501 return err 502 } 503 } 504 505 header := v.GetHeader() 506 if header == nil { 507 o.header = nil 508 } else { 509 if o.header == nil { 510 o.header = new(Header) 511 } 512 513 err = o.header.FromGRPCMessage(header) 514 if err != nil { 515 return err 516 } 517 } 518 519 o.payload = v.GetPayload() 520 521 return nil 522 } 523 524 func (s *SplitInfo) ToGRPCMessage() grpc.Message { 525 var m *object.SplitInfo 526 527 if s != nil { 528 m = new(object.SplitInfo) 529 530 m.SetLastPart(s.lastPart.ToGRPCMessage().(*refsGRPC.ObjectID)) 531 m.SetLink(s.link.ToGRPCMessage().(*refsGRPC.ObjectID)) 532 m.SetSplitId(s.splitID) 533 } 534 535 return m 536 } 537 538 func (s *SplitInfo) FromGRPCMessage(m grpc.Message) error { 539 v, ok := m.(*object.SplitInfo) 540 if !ok { 541 return message.NewUnexpectedMessageType(m, v) 542 } 543 544 var err error 545 546 lastPart := v.GetLastPart() 547 if lastPart == nil { 548 s.lastPart = nil 549 } else { 550 if s.lastPart == nil { 551 s.lastPart = new(refs.ObjectID) 552 } 553 554 err = s.lastPart.FromGRPCMessage(lastPart) 555 if err != nil { 556 return err 557 } 558 } 559 560 link := v.GetLink() 561 if link == nil { 562 s.link = nil 563 } else { 564 if s.link == nil { 565 s.link = new(refs.ObjectID) 566 } 567 568 err = s.link.FromGRPCMessage(link) 569 if err != nil { 570 return err 571 } 572 } 573 574 s.splitID = v.GetSplitId() 575 576 return nil 577 } 578 579 func (r *GetRequestBody) ToGRPCMessage() grpc.Message { 580 var m *object.GetRequest_Body 581 582 if r != nil { 583 m = new(object.GetRequest_Body) 584 585 m.SetAddress(r.addr.ToGRPCMessage().(*refsGRPC.Address)) 586 m.SetRaw(r.raw) 587 } 588 589 return m 590 } 591 592 func (r *GetRequestBody) FromGRPCMessage(m grpc.Message) error { 593 v, ok := m.(*object.GetRequest_Body) 594 if !ok { 595 return message.NewUnexpectedMessageType(m, v) 596 } 597 598 var err error 599 600 addr := v.GetAddress() 601 if addr == nil { 602 r.addr = nil 603 } else { 604 if r.addr == nil { 605 r.addr = new(refs.Address) 606 } 607 608 err = r.addr.FromGRPCMessage(addr) 609 if err != nil { 610 return err 611 } 612 } 613 614 r.raw = v.GetRaw() 615 616 return nil 617 } 618 619 func (r *GetRequest) ToGRPCMessage() grpc.Message { 620 var m *object.GetRequest 621 622 if r != nil { 623 m = new(object.GetRequest) 624 625 m.SetBody(r.body.ToGRPCMessage().(*object.GetRequest_Body)) 626 r.RequestHeaders.ToMessage(m) 627 } 628 629 return m 630 } 631 632 func (r *GetRequest) FromGRPCMessage(m grpc.Message) error { 633 v, ok := m.(*object.GetRequest) 634 if !ok { 635 return message.NewUnexpectedMessageType(m, v) 636 } 637 638 var err error 639 640 body := v.GetBody() 641 if body == nil { 642 r.body = nil 643 } else { 644 if r.body == nil { 645 r.body = new(GetRequestBody) 646 } 647 648 err = r.body.FromGRPCMessage(body) 649 if err != nil { 650 return err 651 } 652 } 653 654 return r.RequestHeaders.FromMessage(v) 655 } 656 657 func (r *GetObjectPartInit) ToGRPCMessage() grpc.Message { 658 var m *object.GetResponse_Body_Init 659 660 if r != nil { 661 m = new(object.GetResponse_Body_Init) 662 663 m.SetObjectId(r.id.ToGRPCMessage().(*refsGRPC.ObjectID)) 664 m.SetSignature(r.sig.ToGRPCMessage().(*refsGRPC.Signature)) 665 m.SetHeader(r.hdr.ToGRPCMessage().(*object.Header)) 666 } 667 668 return m 669 } 670 671 func (r *GetObjectPartInit) FromGRPCMessage(m grpc.Message) error { 672 v, ok := m.(*object.GetResponse_Body_Init) 673 if !ok { 674 return message.NewUnexpectedMessageType(m, v) 675 } 676 677 var err error 678 679 id := v.GetObjectId() 680 if id == nil { 681 r.id = nil 682 } else { 683 if r.id == nil { 684 r.id = new(refs.ObjectID) 685 } 686 687 err = r.id.FromGRPCMessage(id) 688 if err != nil { 689 return err 690 } 691 } 692 693 sig := v.GetSignature() 694 if sig == nil { 695 r.sig = nil 696 } else { 697 if r.sig == nil { 698 r.sig = new(refs.Signature) 699 } 700 701 err = r.sig.FromGRPCMessage(sig) 702 if err != nil { 703 return err 704 } 705 } 706 707 hdr := v.GetHeader() 708 if hdr == nil { 709 r.hdr = nil 710 } else { 711 if r.hdr == nil { 712 r.hdr = new(Header) 713 } 714 715 err = r.hdr.FromGRPCMessage(hdr) 716 } 717 718 return err 719 } 720 721 func (r *GetObjectPartChunk) ToGRPCMessage() grpc.Message { 722 var m *object.GetResponse_Body_Chunk 723 724 if r != nil { 725 m = new(object.GetResponse_Body_Chunk) 726 727 m.SetChunk(r.chunk) 728 } 729 730 return m 731 } 732 733 func (r *GetObjectPartChunk) FromGRPCMessage(m grpc.Message) error { 734 v, ok := m.(*object.GetResponse_Body_Chunk) 735 if !ok { 736 return message.NewUnexpectedMessageType(m, v) 737 } 738 739 r.chunk = v.GetChunk() 740 741 return nil 742 } 743 744 func (r *GetResponseBody) ToGRPCMessage() grpc.Message { 745 var m *object.GetResponse_Body 746 747 if r != nil { 748 m = new(object.GetResponse_Body) 749 750 switch v := r.GetObjectPart(); t := v.(type) { 751 case nil: 752 m.ObjectPart = nil 753 case *GetObjectPartInit: 754 m.SetInit(t.ToGRPCMessage().(*object.GetResponse_Body_Init)) 755 case *GetObjectPartChunk: 756 m.SetChunk(t.ToGRPCMessage().(*object.GetResponse_Body_Chunk)) 757 case *SplitInfo: 758 m.SetSplitInfo(t.ToGRPCMessage().(*object.SplitInfo)) 759 default: 760 panic(fmt.Sprintf("unknown get object part %T", t)) 761 } 762 } 763 764 return m 765 } 766 767 func (r *GetResponseBody) FromGRPCMessage(m grpc.Message) error { 768 v, ok := m.(*object.GetResponse_Body) 769 if !ok { 770 return message.NewUnexpectedMessageType(m, v) 771 } 772 773 var err error 774 775 r.objPart = nil 776 777 switch pt := v.GetObjectPart().(type) { 778 case nil: 779 case *object.GetResponse_Body_Init_: 780 if pt != nil { 781 partInit := new(GetObjectPartInit) 782 r.objPart = partInit 783 err = partInit.FromGRPCMessage(pt.Init) 784 } 785 case *object.GetResponse_Body_Chunk: 786 if pt != nil { 787 partChunk := new(GetObjectPartChunk) 788 r.objPart = partChunk 789 err = partChunk.FromGRPCMessage(pt) 790 } 791 case *object.GetResponse_Body_SplitInfo: 792 if pt != nil { 793 partSplit := new(SplitInfo) 794 r.objPart = partSplit 795 err = partSplit.FromGRPCMessage(pt.SplitInfo) 796 } 797 default: 798 err = fmt.Errorf("unknown get object part %T", pt) 799 } 800 801 return err 802 } 803 804 func (r *GetResponse) ToGRPCMessage() grpc.Message { 805 var m *object.GetResponse 806 807 if r != nil { 808 m = new(object.GetResponse) 809 810 m.SetBody(r.body.ToGRPCMessage().(*object.GetResponse_Body)) 811 r.ResponseHeaders.ToMessage(m) 812 } 813 814 return m 815 } 816 817 func (r *GetResponse) FromGRPCMessage(m grpc.Message) error { 818 v, ok := m.(*object.GetResponse) 819 if !ok { 820 return message.NewUnexpectedMessageType(m, v) 821 } 822 823 var err error 824 825 body := v.GetBody() 826 if body == nil { 827 r.body = nil 828 } else { 829 if r.body == nil { 830 r.body = new(GetResponseBody) 831 } 832 833 err = r.body.FromGRPCMessage(body) 834 if err != nil { 835 return err 836 } 837 } 838 839 return r.ResponseHeaders.FromMessage(v) 840 } 841 842 func (r *PutObjectPartInit) ToGRPCMessage() grpc.Message { 843 var m *object.PutRequest_Body_Init 844 845 if r != nil { 846 m = new(object.PutRequest_Body_Init) 847 848 m.SetObjectId(r.id.ToGRPCMessage().(*refsGRPC.ObjectID)) 849 m.SetSignature(r.sig.ToGRPCMessage().(*refsGRPC.Signature)) 850 m.SetHeader(r.hdr.ToGRPCMessage().(*object.Header)) 851 m.SetCopiesNumber(r.copyNum) 852 } 853 854 return m 855 } 856 857 func (r *PutObjectPartInit) FromGRPCMessage(m grpc.Message) error { 858 v, ok := m.(*object.PutRequest_Body_Init) 859 if !ok { 860 return message.NewUnexpectedMessageType(m, v) 861 } 862 863 var err error 864 865 id := v.GetObjectId() 866 if id == nil { 867 r.id = nil 868 } else { 869 if r.id == nil { 870 r.id = new(refs.ObjectID) 871 } 872 873 err = r.id.FromGRPCMessage(id) 874 if err != nil { 875 return err 876 } 877 } 878 879 sig := v.GetSignature() 880 if sig == nil { 881 r.sig = nil 882 } else { 883 if r.sig == nil { 884 r.sig = new(refs.Signature) 885 } 886 887 err = r.sig.FromGRPCMessage(sig) 888 if err != nil { 889 return err 890 } 891 } 892 893 hdr := v.GetHeader() 894 if hdr == nil { 895 r.hdr = nil 896 } else { 897 if r.hdr == nil { 898 r.hdr = new(Header) 899 } 900 901 err = r.hdr.FromGRPCMessage(hdr) 902 if err != nil { 903 return err 904 } 905 } 906 907 r.copyNum = v.GetCopiesNumber() 908 909 return nil 910 } 911 912 func (r *PutObjectPartChunk) ToGRPCMessage() grpc.Message { 913 var m *object.PutRequest_Body_Chunk 914 915 if r != nil { 916 m = new(object.PutRequest_Body_Chunk) 917 918 m.SetChunk(r.chunk) 919 } 920 921 return m 922 } 923 924 func (r *PutObjectPartChunk) FromGRPCMessage(m grpc.Message) error { 925 v, ok := m.(*object.PutRequest_Body_Chunk) 926 if !ok { 927 return message.NewUnexpectedMessageType(m, v) 928 } 929 930 r.chunk = v.GetChunk() 931 932 return nil 933 } 934 935 func (r *PutRequestBody) ToGRPCMessage() grpc.Message { 936 var m *object.PutRequest_Body 937 938 if r != nil { 939 m = new(object.PutRequest_Body) 940 941 switch v := r.GetObjectPart(); t := v.(type) { 942 case nil: 943 m.ObjectPart = nil 944 case *PutObjectPartInit: 945 m.SetInit(t.ToGRPCMessage().(*object.PutRequest_Body_Init)) 946 case *PutObjectPartChunk: 947 m.SetChunk(t.ToGRPCMessage().(*object.PutRequest_Body_Chunk)) 948 default: 949 panic(fmt.Sprintf("unknown put object part %T", t)) 950 } 951 } 952 953 return m 954 } 955 956 func (r *PutRequestBody) FromGRPCMessage(m grpc.Message) error { 957 v, ok := m.(*object.PutRequest_Body) 958 if !ok { 959 return message.NewUnexpectedMessageType(m, v) 960 } 961 962 var err error 963 964 r.objPart = nil 965 966 switch pt := v.GetObjectPart().(type) { 967 case nil: 968 case *object.PutRequest_Body_Init_: 969 if pt != nil { 970 partInit := new(PutObjectPartInit) 971 r.objPart = partInit 972 err = partInit.FromGRPCMessage(pt.Init) 973 } 974 case *object.PutRequest_Body_Chunk: 975 if pt != nil { 976 partChunk := new(PutObjectPartChunk) 977 r.objPart = partChunk 978 err = partChunk.FromGRPCMessage(pt) 979 } 980 default: 981 err = fmt.Errorf("unknown put object part %T", pt) 982 } 983 984 return err 985 } 986 987 func (r *PutRequest) ToGRPCMessage() grpc.Message { 988 var m *object.PutRequest 989 990 if r != nil { 991 m = new(object.PutRequest) 992 993 m.SetBody(r.body.ToGRPCMessage().(*object.PutRequest_Body)) 994 r.RequestHeaders.ToMessage(m) 995 } 996 997 return m 998 } 999 1000 func (r *PutRequest) FromGRPCMessage(m grpc.Message) error { 1001 v, ok := m.(*object.PutRequest) 1002 if !ok { 1003 return message.NewUnexpectedMessageType(m, v) 1004 } 1005 1006 var err error 1007 1008 body := v.GetBody() 1009 if body == nil { 1010 r.body = nil 1011 } else { 1012 if r.body == nil { 1013 r.body = new(PutRequestBody) 1014 } 1015 1016 err = r.body.FromGRPCMessage(body) 1017 if err != nil { 1018 return err 1019 } 1020 } 1021 1022 return r.RequestHeaders.FromMessage(v) 1023 } 1024 1025 func (r *PutResponseBody) ToGRPCMessage() grpc.Message { 1026 var m *object.PutResponse_Body 1027 1028 if r != nil { 1029 m = new(object.PutResponse_Body) 1030 1031 m.SetObjectId(r.id.ToGRPCMessage().(*refsGRPC.ObjectID)) 1032 } 1033 1034 return m 1035 } 1036 1037 func (r *PutResponseBody) FromGRPCMessage(m grpc.Message) error { 1038 v, ok := m.(*object.PutResponse_Body) 1039 if !ok { 1040 return message.NewUnexpectedMessageType(m, v) 1041 } 1042 1043 var err error 1044 1045 id := v.GetObjectId() 1046 if id == nil { 1047 r.id = nil 1048 } else { 1049 if r.id == nil { 1050 r.id = new(refs.ObjectID) 1051 } 1052 1053 err = r.id.FromGRPCMessage(id) 1054 } 1055 1056 return err 1057 } 1058 1059 func (r *PutResponse) ToGRPCMessage() grpc.Message { 1060 var m *object.PutResponse 1061 1062 if r != nil { 1063 m = new(object.PutResponse) 1064 1065 m.SetBody(r.body.ToGRPCMessage().(*object.PutResponse_Body)) 1066 r.ResponseHeaders.ToMessage(m) 1067 } 1068 1069 return m 1070 } 1071 1072 func (r *PutResponse) FromGRPCMessage(m grpc.Message) error { 1073 v, ok := m.(*object.PutResponse) 1074 if !ok { 1075 return message.NewUnexpectedMessageType(m, v) 1076 } 1077 1078 var err error 1079 1080 body := v.GetBody() 1081 if body == nil { 1082 r.body = nil 1083 } else { 1084 if r.body == nil { 1085 r.body = new(PutResponseBody) 1086 } 1087 1088 err = r.body.FromGRPCMessage(body) 1089 if err != nil { 1090 return err 1091 } 1092 } 1093 1094 return r.ResponseHeaders.FromMessage(v) 1095 } 1096 1097 func (r *DeleteRequestBody) ToGRPCMessage() grpc.Message { 1098 var m *object.DeleteRequest_Body 1099 1100 if r != nil { 1101 m = new(object.DeleteRequest_Body) 1102 1103 m.SetAddress(r.addr.ToGRPCMessage().(*refsGRPC.Address)) 1104 } 1105 1106 return m 1107 } 1108 1109 func (r *DeleteRequestBody) FromGRPCMessage(m grpc.Message) error { 1110 v, ok := m.(*object.DeleteRequest_Body) 1111 if !ok { 1112 return message.NewUnexpectedMessageType(m, v) 1113 } 1114 1115 var err error 1116 1117 addr := v.GetAddress() 1118 if addr == nil { 1119 r.addr = nil 1120 } else { 1121 if r.addr == nil { 1122 r.addr = new(refs.Address) 1123 } 1124 1125 err = r.addr.FromGRPCMessage(addr) 1126 } 1127 1128 return err 1129 } 1130 1131 func (r *DeleteRequest) ToGRPCMessage() grpc.Message { 1132 var m *object.DeleteRequest 1133 1134 if r != nil { 1135 m = new(object.DeleteRequest) 1136 1137 m.SetBody(r.body.ToGRPCMessage().(*object.DeleteRequest_Body)) 1138 r.RequestHeaders.ToMessage(m) 1139 } 1140 1141 return m 1142 } 1143 1144 func (r *DeleteRequest) FromGRPCMessage(m grpc.Message) error { 1145 v, ok := m.(*object.DeleteRequest) 1146 if !ok { 1147 return message.NewUnexpectedMessageType(m, v) 1148 } 1149 1150 var err error 1151 1152 body := v.GetBody() 1153 if body == nil { 1154 r.body = nil 1155 } else { 1156 if r.body == nil { 1157 r.body = new(DeleteRequestBody) 1158 } 1159 1160 err = r.body.FromGRPCMessage(body) 1161 if err != nil { 1162 return err 1163 } 1164 } 1165 1166 return r.RequestHeaders.FromMessage(v) 1167 } 1168 1169 func (r *DeleteResponseBody) ToGRPCMessage() grpc.Message { 1170 var m *object.DeleteResponse_Body 1171 1172 if r != nil { 1173 m = new(object.DeleteResponse_Body) 1174 1175 m.SetTombstone(r.tombstone.ToGRPCMessage().(*refsGRPC.Address)) 1176 } 1177 1178 return m 1179 } 1180 1181 func (r *DeleteResponseBody) FromGRPCMessage(m grpc.Message) error { 1182 v, ok := m.(*object.DeleteResponse_Body) 1183 if !ok { 1184 return message.NewUnexpectedMessageType(m, v) 1185 } 1186 1187 var err error 1188 1189 tombstone := v.GetTombstone() 1190 if tombstone == nil { 1191 r.tombstone = nil 1192 } else { 1193 if r.tombstone == nil { 1194 r.tombstone = new(refs.Address) 1195 } 1196 1197 err = r.tombstone.FromGRPCMessage(tombstone) 1198 } 1199 1200 return err 1201 } 1202 1203 func (r *DeleteResponse) ToGRPCMessage() grpc.Message { 1204 var m *object.DeleteResponse 1205 1206 if r != nil { 1207 m = new(object.DeleteResponse) 1208 1209 m.SetBody(r.body.ToGRPCMessage().(*object.DeleteResponse_Body)) 1210 r.ResponseHeaders.ToMessage(m) 1211 } 1212 1213 return m 1214 } 1215 1216 func (r *DeleteResponse) FromGRPCMessage(m grpc.Message) error { 1217 v, ok := m.(*object.DeleteResponse) 1218 if !ok { 1219 return message.NewUnexpectedMessageType(m, v) 1220 } 1221 1222 var err error 1223 1224 body := v.GetBody() 1225 if body == nil { 1226 r.body = nil 1227 } else { 1228 if r.body == nil { 1229 r.body = new(DeleteResponseBody) 1230 } 1231 1232 err = r.body.FromGRPCMessage(body) 1233 if err != nil { 1234 return err 1235 } 1236 } 1237 1238 return r.ResponseHeaders.FromMessage(v) 1239 } 1240 1241 func (r *HeadRequestBody) ToGRPCMessage() grpc.Message { 1242 var m *object.HeadRequest_Body 1243 1244 if r != nil { 1245 m = new(object.HeadRequest_Body) 1246 1247 m.SetAddress(r.addr.ToGRPCMessage().(*refsGRPC.Address)) 1248 m.SetRaw(r.raw) 1249 m.SetMainOnly(r.mainOnly) 1250 } 1251 1252 return m 1253 } 1254 1255 func (r *HeadRequestBody) FromGRPCMessage(m grpc.Message) error { 1256 v, ok := m.(*object.HeadRequest_Body) 1257 if !ok { 1258 return message.NewUnexpectedMessageType(m, v) 1259 } 1260 1261 var err error 1262 1263 addr := v.GetAddress() 1264 if addr == nil { 1265 r.addr = nil 1266 } else { 1267 if r.addr == nil { 1268 r.addr = new(refs.Address) 1269 } 1270 1271 err = r.addr.FromGRPCMessage(addr) 1272 if err != nil { 1273 return err 1274 } 1275 } 1276 1277 r.raw = v.GetRaw() 1278 r.mainOnly = v.GetMainOnly() 1279 1280 return nil 1281 } 1282 1283 func (r *HeadRequest) ToGRPCMessage() grpc.Message { 1284 var m *object.HeadRequest 1285 1286 if r != nil { 1287 m = new(object.HeadRequest) 1288 1289 m.SetBody(r.body.ToGRPCMessage().(*object.HeadRequest_Body)) 1290 r.RequestHeaders.ToMessage(m) 1291 } 1292 1293 return m 1294 } 1295 1296 func (r *HeadRequest) FromGRPCMessage(m grpc.Message) error { 1297 v, ok := m.(*object.HeadRequest) 1298 if !ok { 1299 return message.NewUnexpectedMessageType(m, v) 1300 } 1301 1302 var err error 1303 1304 body := v.GetBody() 1305 if body == nil { 1306 r.body = nil 1307 } else { 1308 if r.body == nil { 1309 r.body = new(HeadRequestBody) 1310 } 1311 1312 err = r.body.FromGRPCMessage(body) 1313 if err != nil { 1314 return err 1315 } 1316 } 1317 1318 return r.RequestHeaders.FromMessage(v) 1319 } 1320 1321 func (r *HeadResponseBody) ToGRPCMessage() grpc.Message { 1322 var m *object.HeadResponse_Body 1323 1324 if r != nil { 1325 m = new(object.HeadResponse_Body) 1326 1327 switch v := r.hdrPart.(type) { 1328 case nil: 1329 m.Head = nil 1330 case *HeaderWithSignature: 1331 m.SetHeader(v.ToGRPCMessage().(*object.HeaderWithSignature)) 1332 case *ShortHeader: 1333 m.SetShortHeader(v.ToGRPCMessage().(*object.ShortHeader)) 1334 case *SplitInfo: 1335 m.SetSplitInfo(v.ToGRPCMessage().(*object.SplitInfo)) 1336 default: 1337 panic(fmt.Sprintf("unknown head part %T", v)) 1338 } 1339 } 1340 1341 return m 1342 } 1343 1344 func (r *HeadResponseBody) FromGRPCMessage(m grpc.Message) error { 1345 v, ok := m.(*object.HeadResponse_Body) 1346 if !ok { 1347 return message.NewUnexpectedMessageType(m, v) 1348 } 1349 1350 var err error 1351 1352 r.hdrPart = nil 1353 1354 switch pt := v.GetHead().(type) { 1355 case nil: 1356 case *object.HeadResponse_Body_Header: 1357 if pt != nil { 1358 partHdr := new(HeaderWithSignature) 1359 r.hdrPart = partHdr 1360 err = partHdr.FromGRPCMessage(pt.Header) 1361 } 1362 case *object.HeadResponse_Body_ShortHeader: 1363 if pt != nil { 1364 partShort := new(ShortHeader) 1365 r.hdrPart = partShort 1366 err = partShort.FromGRPCMessage(pt.ShortHeader) 1367 } 1368 case *object.HeadResponse_Body_SplitInfo: 1369 if pt != nil { 1370 partSplit := new(SplitInfo) 1371 r.hdrPart = partSplit 1372 err = partSplit.FromGRPCMessage(pt.SplitInfo) 1373 } 1374 default: 1375 err = fmt.Errorf("unknown head part %T", pt) 1376 } 1377 1378 return err 1379 } 1380 1381 func (r *HeadResponse) ToGRPCMessage() grpc.Message { 1382 var m *object.HeadResponse 1383 1384 if r != nil { 1385 m = new(object.HeadResponse) 1386 1387 m.SetBody(r.body.ToGRPCMessage().(*object.HeadResponse_Body)) 1388 r.ResponseHeaders.ToMessage(m) 1389 } 1390 1391 return m 1392 } 1393 1394 func (r *HeadResponse) FromGRPCMessage(m grpc.Message) error { 1395 v, ok := m.(*object.HeadResponse) 1396 if !ok { 1397 return message.NewUnexpectedMessageType(m, v) 1398 } 1399 1400 var err error 1401 1402 body := v.GetBody() 1403 if body == nil { 1404 r.body = nil 1405 } else { 1406 if r.body == nil { 1407 r.body = new(HeadResponseBody) 1408 } 1409 1410 err = r.body.FromGRPCMessage(body) 1411 if err != nil { 1412 return err 1413 } 1414 } 1415 1416 return r.ResponseHeaders.FromMessage(v) 1417 } 1418 1419 func (f *SearchFilter) ToGRPCMessage() grpc.Message { 1420 var m *object.SearchRequest_Body_Filter 1421 1422 if f != nil { 1423 m = new(object.SearchRequest_Body_Filter) 1424 1425 m.SetKey(f.key) 1426 m.SetValue(f.val) 1427 m.SetMatchType(MatchTypeToGRPCField(f.matchType)) 1428 } 1429 1430 return m 1431 } 1432 1433 func (f *SearchFilter) FromGRPCMessage(m grpc.Message) error { 1434 v, ok := m.(*object.SearchRequest_Body_Filter) 1435 if !ok { 1436 return message.NewUnexpectedMessageType(m, v) 1437 } 1438 1439 f.key = v.GetKey() 1440 f.val = v.GetValue() 1441 f.matchType = MatchTypeFromGRPCField(v.GetMatchType()) 1442 1443 return nil 1444 } 1445 1446 func SearchFiltersToGRPC(fs []SearchFilter) (res []*object.SearchRequest_Body_Filter) { 1447 if fs != nil { 1448 res = make([]*object.SearchRequest_Body_Filter, 0, len(fs)) 1449 1450 for i := range fs { 1451 res = append(res, fs[i].ToGRPCMessage().(*object.SearchRequest_Body_Filter)) 1452 } 1453 } 1454 1455 return 1456 } 1457 1458 func SearchFiltersFromGRPC(fs []*object.SearchRequest_Body_Filter) (res []SearchFilter, err error) { 1459 if fs != nil { 1460 res = make([]SearchFilter, len(fs)) 1461 1462 for i := range fs { 1463 if fs[i] != nil { 1464 err = res[i].FromGRPCMessage(fs[i]) 1465 if err != nil { 1466 return 1467 } 1468 } 1469 } 1470 } 1471 1472 return 1473 } 1474 1475 func (r *SearchRequestBody) ToGRPCMessage() grpc.Message { 1476 var m *object.SearchRequest_Body 1477 1478 if r != nil { 1479 m = new(object.SearchRequest_Body) 1480 1481 m.SetContainerId(r.cid.ToGRPCMessage().(*refsGRPC.ContainerID)) 1482 m.SetFilters(SearchFiltersToGRPC(r.filters)) 1483 m.SetVersion(r.version) 1484 } 1485 1486 return m 1487 } 1488 1489 func (r *SearchRequestBody) FromGRPCMessage(m grpc.Message) error { 1490 v, ok := m.(*object.SearchRequest_Body) 1491 if !ok { 1492 return message.NewUnexpectedMessageType(m, v) 1493 } 1494 1495 var err error 1496 1497 cid := v.GetContainerId() 1498 if cid == nil { 1499 r.cid = nil 1500 } else { 1501 if r.cid == nil { 1502 r.cid = new(refs.ContainerID) 1503 } 1504 1505 err = r.cid.FromGRPCMessage(cid) 1506 if err != nil { 1507 return err 1508 } 1509 } 1510 1511 r.filters, err = SearchFiltersFromGRPC(v.GetFilters()) 1512 if err != nil { 1513 return err 1514 } 1515 1516 r.version = v.GetVersion() 1517 1518 return nil 1519 } 1520 1521 func (r *SearchRequest) ToGRPCMessage() grpc.Message { 1522 var m *object.SearchRequest 1523 1524 if r != nil { 1525 m = new(object.SearchRequest) 1526 1527 m.SetBody(r.body.ToGRPCMessage().(*object.SearchRequest_Body)) 1528 r.RequestHeaders.ToMessage(m) 1529 } 1530 1531 return m 1532 } 1533 1534 func (r *SearchRequest) FromGRPCMessage(m grpc.Message) error { 1535 v, ok := m.(*object.SearchRequest) 1536 if !ok { 1537 return message.NewUnexpectedMessageType(m, v) 1538 } 1539 1540 var err error 1541 1542 body := v.GetBody() 1543 if body == nil { 1544 r.body = nil 1545 } else { 1546 if r.body == nil { 1547 r.body = new(SearchRequestBody) 1548 } 1549 1550 err = r.body.FromGRPCMessage(body) 1551 if err != nil { 1552 return err 1553 } 1554 } 1555 1556 return r.RequestHeaders.FromMessage(v) 1557 } 1558 1559 func (r *SearchResponseBody) ToGRPCMessage() grpc.Message { 1560 var m *object.SearchResponse_Body 1561 1562 if r != nil { 1563 m = new(object.SearchResponse_Body) 1564 1565 m.SetIdList(refs.ObjectIDListToGRPCMessage(r.idList)) 1566 } 1567 1568 return m 1569 } 1570 1571 func (r *SearchResponseBody) FromGRPCMessage(m grpc.Message) error { 1572 v, ok := m.(*object.SearchResponse_Body) 1573 if !ok { 1574 return message.NewUnexpectedMessageType(m, v) 1575 } 1576 1577 var err error 1578 1579 r.idList, err = refs.ObjectIDListFromGRPCMessage(v.GetIdList()) 1580 1581 return err 1582 } 1583 1584 func (r *SearchResponse) ToGRPCMessage() grpc.Message { 1585 var m *object.SearchResponse 1586 1587 if r != nil { 1588 m = new(object.SearchResponse) 1589 1590 m.SetBody(r.body.ToGRPCMessage().(*object.SearchResponse_Body)) 1591 r.ResponseHeaders.ToMessage(m) 1592 } 1593 1594 return m 1595 } 1596 1597 func (r *SearchResponse) FromGRPCMessage(m grpc.Message) error { 1598 v, ok := m.(*object.SearchResponse) 1599 if !ok { 1600 return message.NewUnexpectedMessageType(m, v) 1601 } 1602 1603 var err error 1604 1605 body := v.GetBody() 1606 if body == nil { 1607 r.body = nil 1608 } else { 1609 if r.body == nil { 1610 r.body = new(SearchResponseBody) 1611 } 1612 1613 err = r.body.FromGRPCMessage(body) 1614 if err != nil { 1615 return err 1616 } 1617 } 1618 1619 return r.ResponseHeaders.FromMessage(v) 1620 } 1621 1622 func (r *Range) ToGRPCMessage() grpc.Message { 1623 var m *object.Range 1624 1625 if r != nil { 1626 m = new(object.Range) 1627 1628 m.SetLength(r.len) 1629 m.SetOffset(r.off) 1630 } 1631 1632 return m 1633 } 1634 1635 func (r *Range) FromGRPCMessage(m grpc.Message) error { 1636 v, ok := m.(*object.Range) 1637 if !ok { 1638 return message.NewUnexpectedMessageType(m, v) 1639 } 1640 1641 r.len = v.GetLength() 1642 r.off = v.GetOffset() 1643 1644 return nil 1645 } 1646 1647 func RangesToGRPC(rs []Range) (res []*object.Range) { 1648 if rs != nil { 1649 res = make([]*object.Range, 0, len(rs)) 1650 1651 for i := range rs { 1652 res = append(res, rs[i].ToGRPCMessage().(*object.Range)) 1653 } 1654 } 1655 1656 return 1657 } 1658 1659 func RangesFromGRPC(rs []*object.Range) (res []Range, err error) { 1660 if rs != nil { 1661 res = make([]Range, len(rs)) 1662 1663 for i := range rs { 1664 if rs[i] != nil { 1665 err = res[i].FromGRPCMessage(rs[i]) 1666 if err != nil { 1667 return 1668 } 1669 } 1670 } 1671 } 1672 1673 return 1674 } 1675 1676 func (r *GetRangeRequestBody) ToGRPCMessage() grpc.Message { 1677 var m *object.GetRangeRequest_Body 1678 1679 if r != nil { 1680 m = new(object.GetRangeRequest_Body) 1681 1682 m.SetAddress(r.addr.ToGRPCMessage().(*refsGRPC.Address)) 1683 m.SetRange(r.rng.ToGRPCMessage().(*object.Range)) 1684 m.SetRaw(r.raw) 1685 } 1686 1687 return m 1688 } 1689 1690 func (r *GetRangeRequestBody) FromGRPCMessage(m grpc.Message) error { 1691 v, ok := m.(*object.GetRangeRequest_Body) 1692 if !ok { 1693 return message.NewUnexpectedMessageType(m, v) 1694 } 1695 1696 var err error 1697 1698 addr := v.GetAddress() 1699 if addr == nil { 1700 r.addr = nil 1701 } else { 1702 if r.addr == nil { 1703 r.addr = new(refs.Address) 1704 } 1705 1706 err = r.addr.FromGRPCMessage(addr) 1707 if err != nil { 1708 return err 1709 } 1710 } 1711 1712 rng := v.GetRange() 1713 if rng == nil { 1714 r.rng = nil 1715 } else { 1716 if r.rng == nil { 1717 r.rng = new(Range) 1718 } 1719 1720 err = r.rng.FromGRPCMessage(rng) 1721 if err != nil { 1722 return err 1723 } 1724 } 1725 1726 r.raw = v.GetRaw() 1727 1728 return nil 1729 } 1730 1731 func (r *GetRangeRequest) ToGRPCMessage() grpc.Message { 1732 var m *object.GetRangeRequest 1733 1734 if r != nil { 1735 m = new(object.GetRangeRequest) 1736 1737 m.SetBody(r.body.ToGRPCMessage().(*object.GetRangeRequest_Body)) 1738 r.RequestHeaders.ToMessage(m) 1739 } 1740 1741 return m 1742 } 1743 1744 func (r *GetRangeRequest) FromGRPCMessage(m grpc.Message) error { 1745 v, ok := m.(*object.GetRangeRequest) 1746 if !ok { 1747 return message.NewUnexpectedMessageType(m, v) 1748 } 1749 1750 var err error 1751 1752 body := v.GetBody() 1753 if body == nil { 1754 r.body = nil 1755 } else { 1756 if r.body == nil { 1757 r.body = new(GetRangeRequestBody) 1758 } 1759 1760 err = r.body.FromGRPCMessage(body) 1761 if err != nil { 1762 return err 1763 } 1764 } 1765 1766 return r.RequestHeaders.FromMessage(v) 1767 } 1768 1769 func (r *GetRangePartChunk) ToGRPCMessage() grpc.Message { 1770 var m *object.GetRangeResponse_Body_Chunk 1771 1772 if r != nil { 1773 m = new(object.GetRangeResponse_Body_Chunk) 1774 1775 m.SetChunk(r.chunk) 1776 } 1777 1778 return m 1779 } 1780 1781 func (r *GetRangePartChunk) FromGRPCMessage(m grpc.Message) error { 1782 v, ok := m.(*object.GetRangeResponse_Body_Chunk) 1783 if !ok { 1784 return message.NewUnexpectedMessageType(m, v) 1785 } 1786 1787 r.chunk = v.GetChunk() 1788 1789 return nil 1790 } 1791 1792 func (r *GetRangeResponseBody) ToGRPCMessage() grpc.Message { 1793 var m *object.GetRangeResponse_Body 1794 1795 if r != nil { 1796 m = new(object.GetRangeResponse_Body) 1797 1798 switch v := r.rngPart.(type) { 1799 case nil: 1800 m.RangePart = nil 1801 case *GetRangePartChunk: 1802 m.SetChunk(v.ToGRPCMessage().(*object.GetRangeResponse_Body_Chunk)) 1803 case *SplitInfo: 1804 m.SetSplitInfo(v.ToGRPCMessage().(*object.SplitInfo)) 1805 default: 1806 panic(fmt.Sprintf("unknown get range part %T", v)) 1807 } 1808 } 1809 1810 return m 1811 } 1812 1813 func (r *GetRangeResponseBody) FromGRPCMessage(m grpc.Message) error { 1814 v, ok := m.(*object.GetRangeResponse_Body) 1815 if !ok { 1816 return message.NewUnexpectedMessageType(m, v) 1817 } 1818 1819 var err error 1820 1821 r.rngPart = nil 1822 1823 switch pt := v.GetRangePart().(type) { 1824 case nil: 1825 case *object.GetRangeResponse_Body_Chunk: 1826 if pt != nil { 1827 partChunk := new(GetRangePartChunk) 1828 r.rngPart = partChunk 1829 err = partChunk.FromGRPCMessage(pt) 1830 } 1831 case *object.GetRangeResponse_Body_SplitInfo: 1832 if pt != nil { 1833 partSplit := new(SplitInfo) 1834 r.rngPart = partSplit 1835 err = partSplit.FromGRPCMessage(pt.SplitInfo) 1836 } 1837 default: 1838 err = fmt.Errorf("unknown get range part %T", pt) 1839 } 1840 1841 return err 1842 } 1843 1844 func (r *GetRangeResponse) ToGRPCMessage() grpc.Message { 1845 var m *object.GetRangeResponse 1846 1847 if r != nil { 1848 m = new(object.GetRangeResponse) 1849 1850 m.SetBody(r.body.ToGRPCMessage().(*object.GetRangeResponse_Body)) 1851 r.ResponseHeaders.ToMessage(m) 1852 } 1853 1854 return m 1855 } 1856 1857 func (r *GetRangeResponse) FromGRPCMessage(m grpc.Message) error { 1858 v, ok := m.(*object.GetRangeResponse) 1859 if !ok { 1860 return message.NewUnexpectedMessageType(m, v) 1861 } 1862 1863 var err error 1864 1865 body := v.GetBody() 1866 if body == nil { 1867 r.body = nil 1868 } else { 1869 if r.body == nil { 1870 r.body = new(GetRangeResponseBody) 1871 } 1872 1873 err = r.body.FromGRPCMessage(body) 1874 if err != nil { 1875 return err 1876 } 1877 } 1878 1879 return r.ResponseHeaders.FromMessage(v) 1880 } 1881 1882 func (r *GetRangeHashRequestBody) ToGRPCMessage() grpc.Message { 1883 var m *object.GetRangeHashRequest_Body 1884 1885 if r != nil { 1886 m = new(object.GetRangeHashRequest_Body) 1887 1888 m.SetAddress(r.addr.ToGRPCMessage().(*refsGRPC.Address)) 1889 m.SetRanges(RangesToGRPC(r.rngs)) 1890 m.SetType(refs.ChecksumTypeToGRPC(r.typ)) 1891 m.SetSalt(r.salt) 1892 } 1893 1894 return m 1895 } 1896 1897 func (r *GetRangeHashRequestBody) FromGRPCMessage(m grpc.Message) error { 1898 v, ok := m.(*object.GetRangeHashRequest_Body) 1899 if !ok { 1900 return message.NewUnexpectedMessageType(m, v) 1901 } 1902 1903 var err error 1904 1905 addr := v.GetAddress() 1906 if addr == nil { 1907 r.addr = nil 1908 } else { 1909 if r.addr == nil { 1910 r.addr = new(refs.Address) 1911 } 1912 1913 err = r.addr.FromGRPCMessage(addr) 1914 if err != nil { 1915 return err 1916 } 1917 } 1918 1919 r.rngs, err = RangesFromGRPC(v.GetRanges()) 1920 if err != nil { 1921 return err 1922 } 1923 1924 r.typ = refs.ChecksumTypeFromGRPC(v.GetType()) 1925 r.salt = v.GetSalt() 1926 1927 return nil 1928 } 1929 1930 func (r *GetRangeHashRequest) ToGRPCMessage() grpc.Message { 1931 var m *object.GetRangeHashRequest 1932 1933 if r != nil { 1934 m = new(object.GetRangeHashRequest) 1935 1936 m.SetBody(r.body.ToGRPCMessage().(*object.GetRangeHashRequest_Body)) 1937 r.RequestHeaders.ToMessage(m) 1938 } 1939 1940 return m 1941 } 1942 1943 func (r *GetRangeHashRequest) FromGRPCMessage(m grpc.Message) error { 1944 v, ok := m.(*object.GetRangeHashRequest) 1945 if !ok { 1946 return message.NewUnexpectedMessageType(m, v) 1947 } 1948 1949 var err error 1950 1951 body := v.GetBody() 1952 if body == nil { 1953 r.body = nil 1954 } else { 1955 if r.body == nil { 1956 r.body = new(GetRangeHashRequestBody) 1957 } 1958 1959 err = r.body.FromGRPCMessage(body) 1960 if err != nil { 1961 return err 1962 } 1963 } 1964 1965 return r.RequestHeaders.FromMessage(v) 1966 } 1967 1968 func (r *GetRangeHashResponseBody) ToGRPCMessage() grpc.Message { 1969 var m *object.GetRangeHashResponse_Body 1970 1971 if r != nil { 1972 m = new(object.GetRangeHashResponse_Body) 1973 1974 m.SetType(refs.ChecksumTypeToGRPC(r.typ)) 1975 m.SetHashList(r.hashList) 1976 } 1977 1978 return m 1979 } 1980 1981 func (r *GetRangeHashResponseBody) FromGRPCMessage(m grpc.Message) error { 1982 v, ok := m.(*object.GetRangeHashResponse_Body) 1983 if !ok { 1984 return message.NewUnexpectedMessageType(m, v) 1985 } 1986 1987 r.typ = refs.ChecksumTypeFromGRPC(v.GetType()) 1988 r.hashList = v.GetHashList() 1989 1990 return nil 1991 } 1992 1993 func (r *GetRangeHashResponse) ToGRPCMessage() grpc.Message { 1994 var m *object.GetRangeHashResponse 1995 1996 if r != nil { 1997 m = new(object.GetRangeHashResponse) 1998 1999 m.SetBody(r.body.ToGRPCMessage().(*object.GetRangeHashResponse_Body)) 2000 r.ResponseHeaders.ToMessage(m) 2001 } 2002 2003 return m 2004 } 2005 2006 func (r *GetRangeHashResponse) FromGRPCMessage(m grpc.Message) error { 2007 v, ok := m.(*object.GetRangeHashResponse) 2008 if !ok { 2009 return message.NewUnexpectedMessageType(m, v) 2010 } 2011 2012 var err error 2013 2014 body := v.GetBody() 2015 if body == nil { 2016 r.body = nil 2017 } else { 2018 if r.body == nil { 2019 r.body = new(GetRangeHashResponseBody) 2020 } 2021 2022 err = r.body.FromGRPCMessage(body) 2023 if err != nil { 2024 return err 2025 } 2026 } 2027 2028 return r.ResponseHeaders.FromMessage(v) 2029 }