github.com/TrueCloudLab/frostfs-api-go/v2@v2.0.0-20230228134343-196241c4e79a/session/grpc/types.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: session/grpc/types.proto 6 7 package session 8 9 import ( 10 grpc1 "github.com/TrueCloudLab/frostfs-api-go/v2/acl/grpc" 11 grpc "github.com/TrueCloudLab/frostfs-api-go/v2/refs/grpc" 12 grpc2 "github.com/TrueCloudLab/frostfs-api-go/v2/status/grpc" 13 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 14 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 15 reflect "reflect" 16 sync "sync" 17 ) 18 19 const ( 20 // Verify that this generated code is sufficiently up-to-date. 21 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 22 // Verify that runtime/protoimpl is sufficiently up-to-date. 23 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 24 ) 25 26 // Object request verbs 27 type ObjectSessionContext_Verb int32 28 29 const ( 30 // Unknown verb 31 ObjectSessionContext_VERB_UNSPECIFIED ObjectSessionContext_Verb = 0 32 // Refers to object.Put RPC call 33 ObjectSessionContext_PUT ObjectSessionContext_Verb = 1 34 // Refers to object.Get RPC call 35 ObjectSessionContext_GET ObjectSessionContext_Verb = 2 36 // Refers to object.Head RPC call 37 ObjectSessionContext_HEAD ObjectSessionContext_Verb = 3 38 // Refers to object.Search RPC call 39 ObjectSessionContext_SEARCH ObjectSessionContext_Verb = 4 40 // Refers to object.Delete RPC call 41 ObjectSessionContext_DELETE ObjectSessionContext_Verb = 5 42 // Refers to object.GetRange RPC call 43 ObjectSessionContext_RANGE ObjectSessionContext_Verb = 6 44 // Refers to object.GetRangeHash RPC call 45 ObjectSessionContext_RANGEHASH ObjectSessionContext_Verb = 7 46 ) 47 48 // Enum value maps for ObjectSessionContext_Verb. 49 var ( 50 ObjectSessionContext_Verb_name = map[int32]string{ 51 0: "VERB_UNSPECIFIED", 52 1: "PUT", 53 2: "GET", 54 3: "HEAD", 55 4: "SEARCH", 56 5: "DELETE", 57 6: "RANGE", 58 7: "RANGEHASH", 59 } 60 ObjectSessionContext_Verb_value = map[string]int32{ 61 "VERB_UNSPECIFIED": 0, 62 "PUT": 1, 63 "GET": 2, 64 "HEAD": 3, 65 "SEARCH": 4, 66 "DELETE": 5, 67 "RANGE": 6, 68 "RANGEHASH": 7, 69 } 70 ) 71 72 func (x ObjectSessionContext_Verb) Enum() *ObjectSessionContext_Verb { 73 p := new(ObjectSessionContext_Verb) 74 *p = x 75 return p 76 } 77 78 func (x ObjectSessionContext_Verb) String() string { 79 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 80 } 81 82 func (ObjectSessionContext_Verb) Descriptor() protoreflect.EnumDescriptor { 83 return file_session_grpc_types_proto_enumTypes[0].Descriptor() 84 } 85 86 func (ObjectSessionContext_Verb) Type() protoreflect.EnumType { 87 return &file_session_grpc_types_proto_enumTypes[0] 88 } 89 90 func (x ObjectSessionContext_Verb) Number() protoreflect.EnumNumber { 91 return protoreflect.EnumNumber(x) 92 } 93 94 // Deprecated: Use ObjectSessionContext_Verb.Descriptor instead. 95 func (ObjectSessionContext_Verb) EnumDescriptor() ([]byte, []int) { 96 return file_session_grpc_types_proto_rawDescGZIP(), []int{0, 0} 97 } 98 99 // Container request verbs 100 type ContainerSessionContext_Verb int32 101 102 const ( 103 // Unknown verb 104 ContainerSessionContext_VERB_UNSPECIFIED ContainerSessionContext_Verb = 0 105 // Refers to container.Put RPC call 106 ContainerSessionContext_PUT ContainerSessionContext_Verb = 1 107 // Refers to container.Delete RPC call 108 ContainerSessionContext_DELETE ContainerSessionContext_Verb = 2 109 // Refers to container.SetExtendedACL RPC call 110 ContainerSessionContext_SETEACL ContainerSessionContext_Verb = 3 111 ) 112 113 // Enum value maps for ContainerSessionContext_Verb. 114 var ( 115 ContainerSessionContext_Verb_name = map[int32]string{ 116 0: "VERB_UNSPECIFIED", 117 1: "PUT", 118 2: "DELETE", 119 3: "SETEACL", 120 } 121 ContainerSessionContext_Verb_value = map[string]int32{ 122 "VERB_UNSPECIFIED": 0, 123 "PUT": 1, 124 "DELETE": 2, 125 "SETEACL": 3, 126 } 127 ) 128 129 func (x ContainerSessionContext_Verb) Enum() *ContainerSessionContext_Verb { 130 p := new(ContainerSessionContext_Verb) 131 *p = x 132 return p 133 } 134 135 func (x ContainerSessionContext_Verb) String() string { 136 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 137 } 138 139 func (ContainerSessionContext_Verb) Descriptor() protoreflect.EnumDescriptor { 140 return file_session_grpc_types_proto_enumTypes[1].Descriptor() 141 } 142 143 func (ContainerSessionContext_Verb) Type() protoreflect.EnumType { 144 return &file_session_grpc_types_proto_enumTypes[1] 145 } 146 147 func (x ContainerSessionContext_Verb) Number() protoreflect.EnumNumber { 148 return protoreflect.EnumNumber(x) 149 } 150 151 // Deprecated: Use ContainerSessionContext_Verb.Descriptor instead. 152 func (ContainerSessionContext_Verb) EnumDescriptor() ([]byte, []int) { 153 return file_session_grpc_types_proto_rawDescGZIP(), []int{1, 0} 154 } 155 156 // Context information for Session Tokens related to ObjectService requests 157 type ObjectSessionContext struct { 158 state protoimpl.MessageState 159 sizeCache protoimpl.SizeCache 160 unknownFields protoimpl.UnknownFields 161 162 // Type of request for which the token is issued 163 Verb ObjectSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ObjectSessionContext_Verb" json:"verb,omitempty"` 164 // Object session target. MUST be correctly formed and set. If `objects` 165 // field is not empty, then the session applies only to these elements, 166 // otherwise, to all objects from the specified container. 167 Target *ObjectSessionContext_Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"` 168 } 169 170 func (x *ObjectSessionContext) Reset() { 171 *x = ObjectSessionContext{} 172 if protoimpl.UnsafeEnabled { 173 mi := &file_session_grpc_types_proto_msgTypes[0] 174 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 175 ms.StoreMessageInfo(mi) 176 } 177 } 178 179 func (x *ObjectSessionContext) String() string { 180 return protoimpl.X.MessageStringOf(x) 181 } 182 183 func (*ObjectSessionContext) ProtoMessage() {} 184 185 func (x *ObjectSessionContext) ProtoReflect() protoreflect.Message { 186 mi := &file_session_grpc_types_proto_msgTypes[0] 187 if protoimpl.UnsafeEnabled && x != nil { 188 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 189 if ms.LoadMessageInfo() == nil { 190 ms.StoreMessageInfo(mi) 191 } 192 return ms 193 } 194 return mi.MessageOf(x) 195 } 196 197 // Deprecated: Use ObjectSessionContext.ProtoReflect.Descriptor instead. 198 func (*ObjectSessionContext) Descriptor() ([]byte, []int) { 199 return file_session_grpc_types_proto_rawDescGZIP(), []int{0} 200 } 201 202 func (x *ObjectSessionContext) GetVerb() ObjectSessionContext_Verb { 203 if x != nil { 204 return x.Verb 205 } 206 return ObjectSessionContext_VERB_UNSPECIFIED 207 } 208 209 func (x *ObjectSessionContext) GetTarget() *ObjectSessionContext_Target { 210 if x != nil { 211 return x.Target 212 } 213 return nil 214 } 215 216 // Context information for Session Tokens related to ContainerService requests. 217 type ContainerSessionContext struct { 218 state protoimpl.MessageState 219 sizeCache protoimpl.SizeCache 220 unknownFields protoimpl.UnknownFields 221 222 // Type of request for which the token is issued 223 Verb ContainerSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ContainerSessionContext_Verb" json:"verb,omitempty"` 224 // Spreads the action to all owner containers. 225 // If set, container_id field is ignored. 226 Wildcard bool `protobuf:"varint,2,opt,name=wildcard,proto3" json:"wildcard,omitempty"` 227 // Particular container to which the action applies. 228 // Ignored if wildcard flag is set. 229 ContainerId *grpc.ContainerID `protobuf:"bytes,3,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"` 230 } 231 232 func (x *ContainerSessionContext) Reset() { 233 *x = ContainerSessionContext{} 234 if protoimpl.UnsafeEnabled { 235 mi := &file_session_grpc_types_proto_msgTypes[1] 236 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 237 ms.StoreMessageInfo(mi) 238 } 239 } 240 241 func (x *ContainerSessionContext) String() string { 242 return protoimpl.X.MessageStringOf(x) 243 } 244 245 func (*ContainerSessionContext) ProtoMessage() {} 246 247 func (x *ContainerSessionContext) ProtoReflect() protoreflect.Message { 248 mi := &file_session_grpc_types_proto_msgTypes[1] 249 if protoimpl.UnsafeEnabled && x != nil { 250 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 251 if ms.LoadMessageInfo() == nil { 252 ms.StoreMessageInfo(mi) 253 } 254 return ms 255 } 256 return mi.MessageOf(x) 257 } 258 259 // Deprecated: Use ContainerSessionContext.ProtoReflect.Descriptor instead. 260 func (*ContainerSessionContext) Descriptor() ([]byte, []int) { 261 return file_session_grpc_types_proto_rawDescGZIP(), []int{1} 262 } 263 264 func (x *ContainerSessionContext) GetVerb() ContainerSessionContext_Verb { 265 if x != nil { 266 return x.Verb 267 } 268 return ContainerSessionContext_VERB_UNSPECIFIED 269 } 270 271 func (x *ContainerSessionContext) GetWildcard() bool { 272 if x != nil { 273 return x.Wildcard 274 } 275 return false 276 } 277 278 func (x *ContainerSessionContext) GetContainerId() *grpc.ContainerID { 279 if x != nil { 280 return x.ContainerId 281 } 282 return nil 283 } 284 285 // NeoFS Session Token. 286 type SessionToken struct { 287 state protoimpl.MessageState 288 sizeCache protoimpl.SizeCache 289 unknownFields protoimpl.UnknownFields 290 291 // Session Token contains the proof of trust between peers to be attached in 292 // requests for further verification. Please see corresponding section of 293 // NeoFS Technical Specification for details. 294 Body *SessionToken_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"` 295 // Signature of `SessionToken` information 296 Signature *grpc.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 297 } 298 299 func (x *SessionToken) Reset() { 300 *x = SessionToken{} 301 if protoimpl.UnsafeEnabled { 302 mi := &file_session_grpc_types_proto_msgTypes[2] 303 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 304 ms.StoreMessageInfo(mi) 305 } 306 } 307 308 func (x *SessionToken) String() string { 309 return protoimpl.X.MessageStringOf(x) 310 } 311 312 func (*SessionToken) ProtoMessage() {} 313 314 func (x *SessionToken) ProtoReflect() protoreflect.Message { 315 mi := &file_session_grpc_types_proto_msgTypes[2] 316 if protoimpl.UnsafeEnabled && x != nil { 317 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 318 if ms.LoadMessageInfo() == nil { 319 ms.StoreMessageInfo(mi) 320 } 321 return ms 322 } 323 return mi.MessageOf(x) 324 } 325 326 // Deprecated: Use SessionToken.ProtoReflect.Descriptor instead. 327 func (*SessionToken) Descriptor() ([]byte, []int) { 328 return file_session_grpc_types_proto_rawDescGZIP(), []int{2} 329 } 330 331 func (x *SessionToken) GetBody() *SessionToken_Body { 332 if x != nil { 333 return x.Body 334 } 335 return nil 336 } 337 338 func (x *SessionToken) GetSignature() *grpc.Signature { 339 if x != nil { 340 return x.Signature 341 } 342 return nil 343 } 344 345 // Extended headers for Request/Response. They may contain any user-defined headers 346 // to be interpreted on application level. 347 // 348 // Key name must be a unique valid UTF-8 string. Value can't be empty. Requests or 349 // Responses with duplicated header names or headers with empty values will be 350 // considered invalid. 351 // 352 // There are some "well-known" headers starting with `__NEOFS__` prefix that 353 // affect system behaviour: 354 // 355 // - __NEOFS__NETMAP_EPOCH \ 356 // Netmap epoch to use for object placement calculation. The `value` is string 357 // encoded `uint64` in decimal presentation. If set to '0' or not set, the 358 // current epoch only will be used. 359 // - __NEOFS__NETMAP_LOOKUP_DEPTH \ 360 // If object can't be found using current epoch's netmap, this header limits 361 // how many past epochs the node can look up through. The `value` is string 362 // encoded `uint64` in decimal presentation. If set to '0' or not set, only the 363 // current epoch will be used. 364 type XHeader struct { 365 state protoimpl.MessageState 366 sizeCache protoimpl.SizeCache 367 unknownFields protoimpl.UnknownFields 368 369 // Key of the X-Header 370 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 371 // Value of the X-Header 372 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 373 } 374 375 func (x *XHeader) Reset() { 376 *x = XHeader{} 377 if protoimpl.UnsafeEnabled { 378 mi := &file_session_grpc_types_proto_msgTypes[3] 379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 380 ms.StoreMessageInfo(mi) 381 } 382 } 383 384 func (x *XHeader) String() string { 385 return protoimpl.X.MessageStringOf(x) 386 } 387 388 func (*XHeader) ProtoMessage() {} 389 390 func (x *XHeader) ProtoReflect() protoreflect.Message { 391 mi := &file_session_grpc_types_proto_msgTypes[3] 392 if protoimpl.UnsafeEnabled && x != nil { 393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 394 if ms.LoadMessageInfo() == nil { 395 ms.StoreMessageInfo(mi) 396 } 397 return ms 398 } 399 return mi.MessageOf(x) 400 } 401 402 // Deprecated: Use XHeader.ProtoReflect.Descriptor instead. 403 func (*XHeader) Descriptor() ([]byte, []int) { 404 return file_session_grpc_types_proto_rawDescGZIP(), []int{3} 405 } 406 407 func (x *XHeader) GetKey() string { 408 if x != nil { 409 return x.Key 410 } 411 return "" 412 } 413 414 func (x *XHeader) GetValue() string { 415 if x != nil { 416 return x.Value 417 } 418 return "" 419 } 420 421 // Meta information attached to the request. When forwarded between peers, 422 // request meta headers are folded in matryoshka style. 423 type RequestMetaHeader struct { 424 state protoimpl.MessageState 425 sizeCache protoimpl.SizeCache 426 unknownFields protoimpl.UnknownFields 427 428 // Peer's API version used 429 Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` 430 // Peer's local epoch number. Set to 0 if unknown. 431 Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` 432 // Maximum number of intermediate nodes in the request route 433 Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"` 434 // Request X-Headers 435 XHeaders []*XHeader `protobuf:"bytes,4,rep,name=x_headers,json=xHeaders,proto3" json:"x_headers,omitempty"` 436 // Session token within which the request is sent 437 SessionToken *SessionToken `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"` 438 // `BearerToken` with eACL overrides for the request 439 BearerToken *grpc1.BearerToken `protobuf:"bytes,6,opt,name=bearer_token,json=bearerToken,proto3" json:"bearer_token,omitempty"` 440 // `RequestMetaHeader` of the origin request 441 Origin *RequestMetaHeader `protobuf:"bytes,7,opt,name=origin,proto3" json:"origin,omitempty"` 442 // NeoFS network magic. Must match the value for the network 443 // that the server belongs to. 444 MagicNumber uint64 `protobuf:"varint,8,opt,name=magic_number,json=magicNumber,proto3" json:"magic_number,omitempty"` 445 } 446 447 func (x *RequestMetaHeader) Reset() { 448 *x = RequestMetaHeader{} 449 if protoimpl.UnsafeEnabled { 450 mi := &file_session_grpc_types_proto_msgTypes[4] 451 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 452 ms.StoreMessageInfo(mi) 453 } 454 } 455 456 func (x *RequestMetaHeader) String() string { 457 return protoimpl.X.MessageStringOf(x) 458 } 459 460 func (*RequestMetaHeader) ProtoMessage() {} 461 462 func (x *RequestMetaHeader) ProtoReflect() protoreflect.Message { 463 mi := &file_session_grpc_types_proto_msgTypes[4] 464 if protoimpl.UnsafeEnabled && x != nil { 465 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 466 if ms.LoadMessageInfo() == nil { 467 ms.StoreMessageInfo(mi) 468 } 469 return ms 470 } 471 return mi.MessageOf(x) 472 } 473 474 // Deprecated: Use RequestMetaHeader.ProtoReflect.Descriptor instead. 475 func (*RequestMetaHeader) Descriptor() ([]byte, []int) { 476 return file_session_grpc_types_proto_rawDescGZIP(), []int{4} 477 } 478 479 func (x *RequestMetaHeader) GetVersion() *grpc.Version { 480 if x != nil { 481 return x.Version 482 } 483 return nil 484 } 485 486 func (x *RequestMetaHeader) GetEpoch() uint64 { 487 if x != nil { 488 return x.Epoch 489 } 490 return 0 491 } 492 493 func (x *RequestMetaHeader) GetTtl() uint32 { 494 if x != nil { 495 return x.Ttl 496 } 497 return 0 498 } 499 500 func (x *RequestMetaHeader) GetXHeaders() []*XHeader { 501 if x != nil { 502 return x.XHeaders 503 } 504 return nil 505 } 506 507 func (x *RequestMetaHeader) GetSessionToken() *SessionToken { 508 if x != nil { 509 return x.SessionToken 510 } 511 return nil 512 } 513 514 func (x *RequestMetaHeader) GetBearerToken() *grpc1.BearerToken { 515 if x != nil { 516 return x.BearerToken 517 } 518 return nil 519 } 520 521 func (x *RequestMetaHeader) GetOrigin() *RequestMetaHeader { 522 if x != nil { 523 return x.Origin 524 } 525 return nil 526 } 527 528 func (x *RequestMetaHeader) GetMagicNumber() uint64 { 529 if x != nil { 530 return x.MagicNumber 531 } 532 return 0 533 } 534 535 // Information about the response 536 type ResponseMetaHeader struct { 537 state protoimpl.MessageState 538 sizeCache protoimpl.SizeCache 539 unknownFields protoimpl.UnknownFields 540 541 // Peer's API version used 542 Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` 543 // Peer's local epoch number 544 Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"` 545 // Maximum number of intermediate nodes in the request route 546 Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"` 547 // Response X-Headers 548 XHeaders []*XHeader `protobuf:"bytes,4,rep,name=x_headers,json=xHeaders,proto3" json:"x_headers,omitempty"` 549 // `ResponseMetaHeader` of the origin request 550 Origin *ResponseMetaHeader `protobuf:"bytes,5,opt,name=origin,proto3" json:"origin,omitempty"` 551 // Status return 552 Status *grpc2.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"` 553 } 554 555 func (x *ResponseMetaHeader) Reset() { 556 *x = ResponseMetaHeader{} 557 if protoimpl.UnsafeEnabled { 558 mi := &file_session_grpc_types_proto_msgTypes[5] 559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 560 ms.StoreMessageInfo(mi) 561 } 562 } 563 564 func (x *ResponseMetaHeader) String() string { 565 return protoimpl.X.MessageStringOf(x) 566 } 567 568 func (*ResponseMetaHeader) ProtoMessage() {} 569 570 func (x *ResponseMetaHeader) ProtoReflect() protoreflect.Message { 571 mi := &file_session_grpc_types_proto_msgTypes[5] 572 if protoimpl.UnsafeEnabled && x != nil { 573 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 574 if ms.LoadMessageInfo() == nil { 575 ms.StoreMessageInfo(mi) 576 } 577 return ms 578 } 579 return mi.MessageOf(x) 580 } 581 582 // Deprecated: Use ResponseMetaHeader.ProtoReflect.Descriptor instead. 583 func (*ResponseMetaHeader) Descriptor() ([]byte, []int) { 584 return file_session_grpc_types_proto_rawDescGZIP(), []int{5} 585 } 586 587 func (x *ResponseMetaHeader) GetVersion() *grpc.Version { 588 if x != nil { 589 return x.Version 590 } 591 return nil 592 } 593 594 func (x *ResponseMetaHeader) GetEpoch() uint64 { 595 if x != nil { 596 return x.Epoch 597 } 598 return 0 599 } 600 601 func (x *ResponseMetaHeader) GetTtl() uint32 { 602 if x != nil { 603 return x.Ttl 604 } 605 return 0 606 } 607 608 func (x *ResponseMetaHeader) GetXHeaders() []*XHeader { 609 if x != nil { 610 return x.XHeaders 611 } 612 return nil 613 } 614 615 func (x *ResponseMetaHeader) GetOrigin() *ResponseMetaHeader { 616 if x != nil { 617 return x.Origin 618 } 619 return nil 620 } 621 622 func (x *ResponseMetaHeader) GetStatus() *grpc2.Status { 623 if x != nil { 624 return x.Status 625 } 626 return nil 627 } 628 629 // Verification info for the request signed by all intermediate nodes. 630 type RequestVerificationHeader struct { 631 state protoimpl.MessageState 632 sizeCache protoimpl.SizeCache 633 unknownFields protoimpl.UnknownFields 634 635 // Request Body signature. Should be generated once by the request initiator. 636 BodySignature *grpc.Signature `protobuf:"bytes,1,opt,name=body_signature,json=bodySignature,proto3" json:"body_signature,omitempty"` 637 // Request Meta signature is added and signed by each intermediate node 638 MetaSignature *grpc.Signature `protobuf:"bytes,2,opt,name=meta_signature,json=metaSignature,proto3" json:"meta_signature,omitempty"` 639 // Signature of previous hops 640 OriginSignature *grpc.Signature `protobuf:"bytes,3,opt,name=origin_signature,json=originSignature,proto3" json:"origin_signature,omitempty"` 641 // Chain of previous hops signatures 642 Origin *RequestVerificationHeader `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"` 643 } 644 645 func (x *RequestVerificationHeader) Reset() { 646 *x = RequestVerificationHeader{} 647 if protoimpl.UnsafeEnabled { 648 mi := &file_session_grpc_types_proto_msgTypes[6] 649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 650 ms.StoreMessageInfo(mi) 651 } 652 } 653 654 func (x *RequestVerificationHeader) String() string { 655 return protoimpl.X.MessageStringOf(x) 656 } 657 658 func (*RequestVerificationHeader) ProtoMessage() {} 659 660 func (x *RequestVerificationHeader) ProtoReflect() protoreflect.Message { 661 mi := &file_session_grpc_types_proto_msgTypes[6] 662 if protoimpl.UnsafeEnabled && x != nil { 663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 664 if ms.LoadMessageInfo() == nil { 665 ms.StoreMessageInfo(mi) 666 } 667 return ms 668 } 669 return mi.MessageOf(x) 670 } 671 672 // Deprecated: Use RequestVerificationHeader.ProtoReflect.Descriptor instead. 673 func (*RequestVerificationHeader) Descriptor() ([]byte, []int) { 674 return file_session_grpc_types_proto_rawDescGZIP(), []int{6} 675 } 676 677 func (x *RequestVerificationHeader) GetBodySignature() *grpc.Signature { 678 if x != nil { 679 return x.BodySignature 680 } 681 return nil 682 } 683 684 func (x *RequestVerificationHeader) GetMetaSignature() *grpc.Signature { 685 if x != nil { 686 return x.MetaSignature 687 } 688 return nil 689 } 690 691 func (x *RequestVerificationHeader) GetOriginSignature() *grpc.Signature { 692 if x != nil { 693 return x.OriginSignature 694 } 695 return nil 696 } 697 698 func (x *RequestVerificationHeader) GetOrigin() *RequestVerificationHeader { 699 if x != nil { 700 return x.Origin 701 } 702 return nil 703 } 704 705 // Verification info for the response signed by all intermediate nodes 706 type ResponseVerificationHeader struct { 707 state protoimpl.MessageState 708 sizeCache protoimpl.SizeCache 709 unknownFields protoimpl.UnknownFields 710 711 // Response Body signature. Should be generated once by an answering node. 712 BodySignature *grpc.Signature `protobuf:"bytes,1,opt,name=body_signature,json=bodySignature,proto3" json:"body_signature,omitempty"` 713 // Response Meta signature is added and signed by each intermediate node 714 MetaSignature *grpc.Signature `protobuf:"bytes,2,opt,name=meta_signature,json=metaSignature,proto3" json:"meta_signature,omitempty"` 715 // Signature of previous hops 716 OriginSignature *grpc.Signature `protobuf:"bytes,3,opt,name=origin_signature,json=originSignature,proto3" json:"origin_signature,omitempty"` 717 // Chain of previous hops signatures 718 Origin *ResponseVerificationHeader `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"` 719 } 720 721 func (x *ResponseVerificationHeader) Reset() { 722 *x = ResponseVerificationHeader{} 723 if protoimpl.UnsafeEnabled { 724 mi := &file_session_grpc_types_proto_msgTypes[7] 725 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 726 ms.StoreMessageInfo(mi) 727 } 728 } 729 730 func (x *ResponseVerificationHeader) String() string { 731 return protoimpl.X.MessageStringOf(x) 732 } 733 734 func (*ResponseVerificationHeader) ProtoMessage() {} 735 736 func (x *ResponseVerificationHeader) ProtoReflect() protoreflect.Message { 737 mi := &file_session_grpc_types_proto_msgTypes[7] 738 if protoimpl.UnsafeEnabled && x != nil { 739 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 740 if ms.LoadMessageInfo() == nil { 741 ms.StoreMessageInfo(mi) 742 } 743 return ms 744 } 745 return mi.MessageOf(x) 746 } 747 748 // Deprecated: Use ResponseVerificationHeader.ProtoReflect.Descriptor instead. 749 func (*ResponseVerificationHeader) Descriptor() ([]byte, []int) { 750 return file_session_grpc_types_proto_rawDescGZIP(), []int{7} 751 } 752 753 func (x *ResponseVerificationHeader) GetBodySignature() *grpc.Signature { 754 if x != nil { 755 return x.BodySignature 756 } 757 return nil 758 } 759 760 func (x *ResponseVerificationHeader) GetMetaSignature() *grpc.Signature { 761 if x != nil { 762 return x.MetaSignature 763 } 764 return nil 765 } 766 767 func (x *ResponseVerificationHeader) GetOriginSignature() *grpc.Signature { 768 if x != nil { 769 return x.OriginSignature 770 } 771 return nil 772 } 773 774 func (x *ResponseVerificationHeader) GetOrigin() *ResponseVerificationHeader { 775 if x != nil { 776 return x.Origin 777 } 778 return nil 779 } 780 781 // Carries objects involved in the object session. 782 type ObjectSessionContext_Target struct { 783 state protoimpl.MessageState 784 sizeCache protoimpl.SizeCache 785 unknownFields protoimpl.UnknownFields 786 787 // Indicates which container the session is spread to. Field MUST be set 788 // and correct. 789 Container *grpc.ContainerID `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"` 790 // Indicates which objects the session is spread to. Objects are expected 791 // to be stored in the NeoFS container referenced by `container` field. 792 // Each element MUST have correct format. 793 Objects []*grpc.ObjectID `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"` 794 } 795 796 func (x *ObjectSessionContext_Target) Reset() { 797 *x = ObjectSessionContext_Target{} 798 if protoimpl.UnsafeEnabled { 799 mi := &file_session_grpc_types_proto_msgTypes[8] 800 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 801 ms.StoreMessageInfo(mi) 802 } 803 } 804 805 func (x *ObjectSessionContext_Target) String() string { 806 return protoimpl.X.MessageStringOf(x) 807 } 808 809 func (*ObjectSessionContext_Target) ProtoMessage() {} 810 811 func (x *ObjectSessionContext_Target) ProtoReflect() protoreflect.Message { 812 mi := &file_session_grpc_types_proto_msgTypes[8] 813 if protoimpl.UnsafeEnabled && x != nil { 814 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 815 if ms.LoadMessageInfo() == nil { 816 ms.StoreMessageInfo(mi) 817 } 818 return ms 819 } 820 return mi.MessageOf(x) 821 } 822 823 // Deprecated: Use ObjectSessionContext_Target.ProtoReflect.Descriptor instead. 824 func (*ObjectSessionContext_Target) Descriptor() ([]byte, []int) { 825 return file_session_grpc_types_proto_rawDescGZIP(), []int{0, 0} 826 } 827 828 func (x *ObjectSessionContext_Target) GetContainer() *grpc.ContainerID { 829 if x != nil { 830 return x.Container 831 } 832 return nil 833 } 834 835 func (x *ObjectSessionContext_Target) GetObjects() []*grpc.ObjectID { 836 if x != nil { 837 return x.Objects 838 } 839 return nil 840 } 841 842 // Session Token body 843 type SessionToken_Body struct { 844 state protoimpl.MessageState 845 sizeCache protoimpl.SizeCache 846 unknownFields protoimpl.UnknownFields 847 848 // Token identifier is a valid UUIDv4 in binary form 849 Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 850 // Identifier of the session initiator 851 OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"` 852 // Lifetime of the session 853 Lifetime *SessionToken_Body_TokenLifetime `protobuf:"bytes,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 854 // Public key used in session 855 SessionKey []byte `protobuf:"bytes,4,opt,name=session_key,json=sessionKey,proto3" json:"session_key,omitempty"` 856 // Session Context information 857 // 858 // Types that are assignable to Context: 859 // 860 // *SessionToken_Body_Object 861 // *SessionToken_Body_Container 862 Context isSessionToken_Body_Context `protobuf_oneof:"context"` 863 } 864 865 func (x *SessionToken_Body) Reset() { 866 *x = SessionToken_Body{} 867 if protoimpl.UnsafeEnabled { 868 mi := &file_session_grpc_types_proto_msgTypes[9] 869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 870 ms.StoreMessageInfo(mi) 871 } 872 } 873 874 func (x *SessionToken_Body) String() string { 875 return protoimpl.X.MessageStringOf(x) 876 } 877 878 func (*SessionToken_Body) ProtoMessage() {} 879 880 func (x *SessionToken_Body) ProtoReflect() protoreflect.Message { 881 mi := &file_session_grpc_types_proto_msgTypes[9] 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 SessionToken_Body.ProtoReflect.Descriptor instead. 893 func (*SessionToken_Body) Descriptor() ([]byte, []int) { 894 return file_session_grpc_types_proto_rawDescGZIP(), []int{2, 0} 895 } 896 897 func (x *SessionToken_Body) GetId() []byte { 898 if x != nil { 899 return x.Id 900 } 901 return nil 902 } 903 904 func (x *SessionToken_Body) GetOwnerId() *grpc.OwnerID { 905 if x != nil { 906 return x.OwnerId 907 } 908 return nil 909 } 910 911 func (x *SessionToken_Body) GetLifetime() *SessionToken_Body_TokenLifetime { 912 if x != nil { 913 return x.Lifetime 914 } 915 return nil 916 } 917 918 func (x *SessionToken_Body) GetSessionKey() []byte { 919 if x != nil { 920 return x.SessionKey 921 } 922 return nil 923 } 924 925 func (m *SessionToken_Body) GetContext() isSessionToken_Body_Context { 926 if m != nil { 927 return m.Context 928 } 929 return nil 930 } 931 932 func (x *SessionToken_Body) GetObject() *ObjectSessionContext { 933 if x, ok := x.GetContext().(*SessionToken_Body_Object); ok { 934 return x.Object 935 } 936 return nil 937 } 938 939 func (x *SessionToken_Body) GetContainer() *ContainerSessionContext { 940 if x, ok := x.GetContext().(*SessionToken_Body_Container); ok { 941 return x.Container 942 } 943 return nil 944 } 945 946 type isSessionToken_Body_Context interface { 947 isSessionToken_Body_Context() 948 } 949 950 type SessionToken_Body_Object struct { 951 // ObjectService session context 952 Object *ObjectSessionContext `protobuf:"bytes,5,opt,name=object,proto3,oneof"` 953 } 954 955 type SessionToken_Body_Container struct { 956 // ContainerService session context 957 Container *ContainerSessionContext `protobuf:"bytes,6,opt,name=container,proto3,oneof"` 958 } 959 960 func (*SessionToken_Body_Object) isSessionToken_Body_Context() {} 961 962 func (*SessionToken_Body_Container) isSessionToken_Body_Context() {} 963 964 // Lifetime parameters of the token. Field names taken from rfc7519. 965 type SessionToken_Body_TokenLifetime struct { 966 state protoimpl.MessageState 967 sizeCache protoimpl.SizeCache 968 unknownFields protoimpl.UnknownFields 969 970 // Expiration Epoch 971 Exp uint64 `protobuf:"varint,1,opt,name=exp,proto3" json:"exp,omitempty"` 972 // Not valid before Epoch 973 Nbf uint64 `protobuf:"varint,2,opt,name=nbf,proto3" json:"nbf,omitempty"` 974 // Issued at Epoch 975 Iat uint64 `protobuf:"varint,3,opt,name=iat,proto3" json:"iat,omitempty"` 976 } 977 978 func (x *SessionToken_Body_TokenLifetime) Reset() { 979 *x = SessionToken_Body_TokenLifetime{} 980 if protoimpl.UnsafeEnabled { 981 mi := &file_session_grpc_types_proto_msgTypes[10] 982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 983 ms.StoreMessageInfo(mi) 984 } 985 } 986 987 func (x *SessionToken_Body_TokenLifetime) String() string { 988 return protoimpl.X.MessageStringOf(x) 989 } 990 991 func (*SessionToken_Body_TokenLifetime) ProtoMessage() {} 992 993 func (x *SessionToken_Body_TokenLifetime) ProtoReflect() protoreflect.Message { 994 mi := &file_session_grpc_types_proto_msgTypes[10] 995 if protoimpl.UnsafeEnabled && x != nil { 996 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 997 if ms.LoadMessageInfo() == nil { 998 ms.StoreMessageInfo(mi) 999 } 1000 return ms 1001 } 1002 return mi.MessageOf(x) 1003 } 1004 1005 // Deprecated: Use SessionToken_Body_TokenLifetime.ProtoReflect.Descriptor instead. 1006 func (*SessionToken_Body_TokenLifetime) Descriptor() ([]byte, []int) { 1007 return file_session_grpc_types_proto_rawDescGZIP(), []int{2, 0, 0} 1008 } 1009 1010 func (x *SessionToken_Body_TokenLifetime) GetExp() uint64 { 1011 if x != nil { 1012 return x.Exp 1013 } 1014 return 0 1015 } 1016 1017 func (x *SessionToken_Body_TokenLifetime) GetNbf() uint64 { 1018 if x != nil { 1019 return x.Nbf 1020 } 1021 return 0 1022 } 1023 1024 func (x *SessionToken_Body_TokenLifetime) GetIat() uint64 { 1025 if x != nil { 1026 return x.Iat 1027 } 1028 return 0 1029 } 1030 1031 var File_session_grpc_types_proto protoreflect.FileDescriptor 1032 1033 var file_session_grpc_types_proto_rawDesc = []byte{ 1034 0x0a, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 1035 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6e, 0x65, 0x6f, 0x2e, 1036 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x15, 0x72, 1037 0x65, 0x66, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 1038 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x61, 0x63, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 1039 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x73, 0x74, 0x61, 0x74, 1040 0x75, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 1041 0x6f, 0x74, 0x6f, 0x22, 0x85, 0x03, 0x0a, 0x14, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 1042 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x04, 1043 0x76, 0x65, 0x72, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 1044 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 1045 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 1046 0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x46, 1047 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 1048 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 1049 0x6f, 0x6e, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1050 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06, 1051 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x77, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 1052 0x12, 0x39, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 1053 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 1054 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 1055 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x6f, 1056 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 1057 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62, 1058 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 1059 0x6a, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f, 1060 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 1061 0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x02, 0x12, 1062 0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x41, 1063 0x52, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 1064 0x05, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 1065 0x52, 0x41, 0x4e, 0x47, 0x45, 0x48, 0x41, 0x53, 0x48, 0x10, 0x07, 0x22, 0xfa, 0x01, 0x0a, 0x17, 1066 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 1067 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 1068 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 1069 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 1070 0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 1071 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x1a, 0x0a, 0x08, 1072 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 1073 0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 1074 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 1075 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 1076 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 1077 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62, 1078 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1079 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 1080 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 1081 0x45, 0x54, 0x45, 0x41, 0x43, 0x4c, 0x10, 0x03, 0x22, 0xa0, 0x04, 0x0a, 0x0c, 0x53, 0x65, 0x73, 1082 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64, 1083 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 1084 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73, 1085 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62, 1086 0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 1087 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 1088 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 1089 0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x9c, 0x03, 0x0a, 1090 0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 1091 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 1092 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 1093 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 1094 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x4e, 0x0a, 0x08, 0x6c, 0x69, 0x66, 1095 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e, 0x65, 1096 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 1097 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64, 1098 0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x52, 1099 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x73, 1100 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 1101 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x6f, 0x62, 1102 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f, 1103 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f, 1104 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 1105 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4a, 0x0a, 1106 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 1107 0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 1108 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65, 1109 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x09, 1110 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0d, 0x54, 0x6f, 0x6b, 1111 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 1112 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03, 1113 0x6e, 0x62, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6e, 0x62, 0x66, 0x12, 0x10, 1114 0x0a, 0x03, 0x69, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x69, 0x61, 0x74, 1115 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x31, 0x0a, 0x07, 0x58, 1116 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 1117 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 1118 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8d, 1119 0x03, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 1120 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 1121 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 1122 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 1123 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 1124 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x10, 0x0a, 1125 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 1126 0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 1127 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 1128 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x08, 1129 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 1130 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 1131 0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 1132 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 1133 0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d, 1134 0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 1135 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 1136 0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 1137 0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a, 1138 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 1139 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 1140 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 1141 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 1142 0x61, 0x67, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 1143 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x99, 1144 0x02, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 1145 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1146 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 1147 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 1148 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 1149 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x10, 1150 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c, 1151 0x12, 0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 1152 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 1153 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 1154 0x08, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x6f, 0x72, 0x69, 1155 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 1156 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 1157 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 1158 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 1159 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 1160 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 1161 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x19, 0x52, 1162 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 1163 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64, 0x79, 1164 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 1165 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 1166 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x64, 1167 0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x65, 1168 0x74, 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 1169 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 1170 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x6d, 1171 0x65, 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x10, 1172 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 1173 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 1174 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 1175 0x65, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 1176 0x72, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 1177 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 1178 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 1179 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 1180 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xad, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x73, 1181 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 1182 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64, 0x79, 0x5f, 1183 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 1184 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 1185 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x64, 0x79, 1186 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 1187 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 1188 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 1189 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x6d, 0x65, 1190 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6f, 1191 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 1192 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 1193 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 1194 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 1195 0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 1196 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 1197 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 1198 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 1199 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x5e, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 1200 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x72, 0x75, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 1201 0x4c, 0x61, 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 1202 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 1203 0x70, 0x63, 0x3b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0xaa, 0x02, 0x1b, 0x4e, 0x65, 0x6f, 1204 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 1205 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1206 } 1207 1208 var ( 1209 file_session_grpc_types_proto_rawDescOnce sync.Once 1210 file_session_grpc_types_proto_rawDescData = file_session_grpc_types_proto_rawDesc 1211 ) 1212 1213 func file_session_grpc_types_proto_rawDescGZIP() []byte { 1214 file_session_grpc_types_proto_rawDescOnce.Do(func() { 1215 file_session_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_session_grpc_types_proto_rawDescData) 1216 }) 1217 return file_session_grpc_types_proto_rawDescData 1218 } 1219 1220 var file_session_grpc_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1221 var file_session_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 11) 1222 var file_session_grpc_types_proto_goTypes = []interface{}{ 1223 (ObjectSessionContext_Verb)(0), // 0: neo.fs.v2.session.ObjectSessionContext.Verb 1224 (ContainerSessionContext_Verb)(0), // 1: neo.fs.v2.session.ContainerSessionContext.Verb 1225 (*ObjectSessionContext)(nil), // 2: neo.fs.v2.session.ObjectSessionContext 1226 (*ContainerSessionContext)(nil), // 3: neo.fs.v2.session.ContainerSessionContext 1227 (*SessionToken)(nil), // 4: neo.fs.v2.session.SessionToken 1228 (*XHeader)(nil), // 5: neo.fs.v2.session.XHeader 1229 (*RequestMetaHeader)(nil), // 6: neo.fs.v2.session.RequestMetaHeader 1230 (*ResponseMetaHeader)(nil), // 7: neo.fs.v2.session.ResponseMetaHeader 1231 (*RequestVerificationHeader)(nil), // 8: neo.fs.v2.session.RequestVerificationHeader 1232 (*ResponseVerificationHeader)(nil), // 9: neo.fs.v2.session.ResponseVerificationHeader 1233 (*ObjectSessionContext_Target)(nil), // 10: neo.fs.v2.session.ObjectSessionContext.Target 1234 (*SessionToken_Body)(nil), // 11: neo.fs.v2.session.SessionToken.Body 1235 (*SessionToken_Body_TokenLifetime)(nil), // 12: neo.fs.v2.session.SessionToken.Body.TokenLifetime 1236 (*grpc.ContainerID)(nil), // 13: neo.fs.v2.refs.ContainerID 1237 (*grpc.Signature)(nil), // 14: neo.fs.v2.refs.Signature 1238 (*grpc.Version)(nil), // 15: neo.fs.v2.refs.Version 1239 (*grpc1.BearerToken)(nil), // 16: neo.fs.v2.acl.BearerToken 1240 (*grpc2.Status)(nil), // 17: neo.fs.v2.status.Status 1241 (*grpc.ObjectID)(nil), // 18: neo.fs.v2.refs.ObjectID 1242 (*grpc.OwnerID)(nil), // 19: neo.fs.v2.refs.OwnerID 1243 } 1244 var file_session_grpc_types_proto_depIdxs = []int32{ 1245 0, // 0: neo.fs.v2.session.ObjectSessionContext.verb:type_name -> neo.fs.v2.session.ObjectSessionContext.Verb 1246 10, // 1: neo.fs.v2.session.ObjectSessionContext.target:type_name -> neo.fs.v2.session.ObjectSessionContext.Target 1247 1, // 2: neo.fs.v2.session.ContainerSessionContext.verb:type_name -> neo.fs.v2.session.ContainerSessionContext.Verb 1248 13, // 3: neo.fs.v2.session.ContainerSessionContext.container_id:type_name -> neo.fs.v2.refs.ContainerID 1249 11, // 4: neo.fs.v2.session.SessionToken.body:type_name -> neo.fs.v2.session.SessionToken.Body 1250 14, // 5: neo.fs.v2.session.SessionToken.signature:type_name -> neo.fs.v2.refs.Signature 1251 15, // 6: neo.fs.v2.session.RequestMetaHeader.version:type_name -> neo.fs.v2.refs.Version 1252 5, // 7: neo.fs.v2.session.RequestMetaHeader.x_headers:type_name -> neo.fs.v2.session.XHeader 1253 4, // 8: neo.fs.v2.session.RequestMetaHeader.session_token:type_name -> neo.fs.v2.session.SessionToken 1254 16, // 9: neo.fs.v2.session.RequestMetaHeader.bearer_token:type_name -> neo.fs.v2.acl.BearerToken 1255 6, // 10: neo.fs.v2.session.RequestMetaHeader.origin:type_name -> neo.fs.v2.session.RequestMetaHeader 1256 15, // 11: neo.fs.v2.session.ResponseMetaHeader.version:type_name -> neo.fs.v2.refs.Version 1257 5, // 12: neo.fs.v2.session.ResponseMetaHeader.x_headers:type_name -> neo.fs.v2.session.XHeader 1258 7, // 13: neo.fs.v2.session.ResponseMetaHeader.origin:type_name -> neo.fs.v2.session.ResponseMetaHeader 1259 17, // 14: neo.fs.v2.session.ResponseMetaHeader.status:type_name -> neo.fs.v2.status.Status 1260 14, // 15: neo.fs.v2.session.RequestVerificationHeader.body_signature:type_name -> neo.fs.v2.refs.Signature 1261 14, // 16: neo.fs.v2.session.RequestVerificationHeader.meta_signature:type_name -> neo.fs.v2.refs.Signature 1262 14, // 17: neo.fs.v2.session.RequestVerificationHeader.origin_signature:type_name -> neo.fs.v2.refs.Signature 1263 8, // 18: neo.fs.v2.session.RequestVerificationHeader.origin:type_name -> neo.fs.v2.session.RequestVerificationHeader 1264 14, // 19: neo.fs.v2.session.ResponseVerificationHeader.body_signature:type_name -> neo.fs.v2.refs.Signature 1265 14, // 20: neo.fs.v2.session.ResponseVerificationHeader.meta_signature:type_name -> neo.fs.v2.refs.Signature 1266 14, // 21: neo.fs.v2.session.ResponseVerificationHeader.origin_signature:type_name -> neo.fs.v2.refs.Signature 1267 9, // 22: neo.fs.v2.session.ResponseVerificationHeader.origin:type_name -> neo.fs.v2.session.ResponseVerificationHeader 1268 13, // 23: neo.fs.v2.session.ObjectSessionContext.Target.container:type_name -> neo.fs.v2.refs.ContainerID 1269 18, // 24: neo.fs.v2.session.ObjectSessionContext.Target.objects:type_name -> neo.fs.v2.refs.ObjectID 1270 19, // 25: neo.fs.v2.session.SessionToken.Body.owner_id:type_name -> neo.fs.v2.refs.OwnerID 1271 12, // 26: neo.fs.v2.session.SessionToken.Body.lifetime:type_name -> neo.fs.v2.session.SessionToken.Body.TokenLifetime 1272 2, // 27: neo.fs.v2.session.SessionToken.Body.object:type_name -> neo.fs.v2.session.ObjectSessionContext 1273 3, // 28: neo.fs.v2.session.SessionToken.Body.container:type_name -> neo.fs.v2.session.ContainerSessionContext 1274 29, // [29:29] is the sub-list for method output_type 1275 29, // [29:29] is the sub-list for method input_type 1276 29, // [29:29] is the sub-list for extension type_name 1277 29, // [29:29] is the sub-list for extension extendee 1278 0, // [0:29] is the sub-list for field type_name 1279 } 1280 1281 func init() { file_session_grpc_types_proto_init() } 1282 func file_session_grpc_types_proto_init() { 1283 if File_session_grpc_types_proto != nil { 1284 return 1285 } 1286 if !protoimpl.UnsafeEnabled { 1287 file_session_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1288 switch v := v.(*ObjectSessionContext); i { 1289 case 0: 1290 return &v.state 1291 case 1: 1292 return &v.sizeCache 1293 case 2: 1294 return &v.unknownFields 1295 default: 1296 return nil 1297 } 1298 } 1299 file_session_grpc_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1300 switch v := v.(*ContainerSessionContext); i { 1301 case 0: 1302 return &v.state 1303 case 1: 1304 return &v.sizeCache 1305 case 2: 1306 return &v.unknownFields 1307 default: 1308 return nil 1309 } 1310 } 1311 file_session_grpc_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1312 switch v := v.(*SessionToken); i { 1313 case 0: 1314 return &v.state 1315 case 1: 1316 return &v.sizeCache 1317 case 2: 1318 return &v.unknownFields 1319 default: 1320 return nil 1321 } 1322 } 1323 file_session_grpc_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1324 switch v := v.(*XHeader); i { 1325 case 0: 1326 return &v.state 1327 case 1: 1328 return &v.sizeCache 1329 case 2: 1330 return &v.unknownFields 1331 default: 1332 return nil 1333 } 1334 } 1335 file_session_grpc_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1336 switch v := v.(*RequestMetaHeader); i { 1337 case 0: 1338 return &v.state 1339 case 1: 1340 return &v.sizeCache 1341 case 2: 1342 return &v.unknownFields 1343 default: 1344 return nil 1345 } 1346 } 1347 file_session_grpc_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1348 switch v := v.(*ResponseMetaHeader); i { 1349 case 0: 1350 return &v.state 1351 case 1: 1352 return &v.sizeCache 1353 case 2: 1354 return &v.unknownFields 1355 default: 1356 return nil 1357 } 1358 } 1359 file_session_grpc_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1360 switch v := v.(*RequestVerificationHeader); i { 1361 case 0: 1362 return &v.state 1363 case 1: 1364 return &v.sizeCache 1365 case 2: 1366 return &v.unknownFields 1367 default: 1368 return nil 1369 } 1370 } 1371 file_session_grpc_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1372 switch v := v.(*ResponseVerificationHeader); i { 1373 case 0: 1374 return &v.state 1375 case 1: 1376 return &v.sizeCache 1377 case 2: 1378 return &v.unknownFields 1379 default: 1380 return nil 1381 } 1382 } 1383 file_session_grpc_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1384 switch v := v.(*ObjectSessionContext_Target); i { 1385 case 0: 1386 return &v.state 1387 case 1: 1388 return &v.sizeCache 1389 case 2: 1390 return &v.unknownFields 1391 default: 1392 return nil 1393 } 1394 } 1395 file_session_grpc_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1396 switch v := v.(*SessionToken_Body); i { 1397 case 0: 1398 return &v.state 1399 case 1: 1400 return &v.sizeCache 1401 case 2: 1402 return &v.unknownFields 1403 default: 1404 return nil 1405 } 1406 } 1407 file_session_grpc_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1408 switch v := v.(*SessionToken_Body_TokenLifetime); i { 1409 case 0: 1410 return &v.state 1411 case 1: 1412 return &v.sizeCache 1413 case 2: 1414 return &v.unknownFields 1415 default: 1416 return nil 1417 } 1418 } 1419 } 1420 file_session_grpc_types_proto_msgTypes[9].OneofWrappers = []interface{}{ 1421 (*SessionToken_Body_Object)(nil), 1422 (*SessionToken_Body_Container)(nil), 1423 } 1424 type x struct{} 1425 out := protoimpl.TypeBuilder{ 1426 File: protoimpl.DescBuilder{ 1427 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1428 RawDescriptor: file_session_grpc_types_proto_rawDesc, 1429 NumEnums: 2, 1430 NumMessages: 11, 1431 NumExtensions: 0, 1432 NumServices: 0, 1433 }, 1434 GoTypes: file_session_grpc_types_proto_goTypes, 1435 DependencyIndexes: file_session_grpc_types_proto_depIdxs, 1436 EnumInfos: file_session_grpc_types_proto_enumTypes, 1437 MessageInfos: file_session_grpc_types_proto_msgTypes, 1438 }.Build() 1439 File_session_grpc_types_proto = out.File 1440 file_session_grpc_types_proto_rawDesc = nil 1441 file_session_grpc_types_proto_goTypes = nil 1442 file_session_grpc_types_proto_depIdxs = nil 1443 }