frostfs-api-go/session/grpc/types.pb.go

1447 lines
56 KiB
Go
Raw Permalink Normal View History

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.30.0
// protoc v4.23.4
// source: session/grpc/types.proto
2020-08-12 09:57:28 +00:00
package session
2020-08-12 09:57:28 +00:00
import (
grpc1 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/acl/grpc"
grpc "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc"
grpc2 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/status/grpc"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
2020-08-12 09:57:28 +00:00
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
2020-08-12 09:57:28 +00:00
// Object request verbs
type ObjectSessionContext_Verb int32
2020-08-12 09:57:28 +00:00
const (
2020-08-14 06:49:05 +00:00
// Unknown verb
ObjectSessionContext_VERB_UNSPECIFIED ObjectSessionContext_Verb = 0
2020-08-12 09:57:28 +00:00
// Refers to object.Put RPC call
ObjectSessionContext_PUT ObjectSessionContext_Verb = 1
2020-08-12 09:57:28 +00:00
// Refers to object.Get RPC call
ObjectSessionContext_GET ObjectSessionContext_Verb = 2
2020-08-12 09:57:28 +00:00
// Refers to object.Head RPC call
ObjectSessionContext_HEAD ObjectSessionContext_Verb = 3
2020-08-12 09:57:28 +00:00
// Refers to object.Search RPC call
ObjectSessionContext_SEARCH ObjectSessionContext_Verb = 4
2020-08-12 09:57:28 +00:00
// Refers to object.Delete RPC call
ObjectSessionContext_DELETE ObjectSessionContext_Verb = 5
2020-08-12 09:57:28 +00:00
// Refers to object.GetRange RPC call
ObjectSessionContext_RANGE ObjectSessionContext_Verb = 6
2020-08-12 09:57:28 +00:00
// Refers to object.GetRangeHash RPC call
ObjectSessionContext_RANGEHASH ObjectSessionContext_Verb = 7
2020-08-12 09:57:28 +00:00
)
// Enum value maps for ObjectSessionContext_Verb.
var (
ObjectSessionContext_Verb_name = map[int32]string{
0: "VERB_UNSPECIFIED",
1: "PUT",
2: "GET",
3: "HEAD",
4: "SEARCH",
5: "DELETE",
6: "RANGE",
7: "RANGEHASH",
}
ObjectSessionContext_Verb_value = map[string]int32{
"VERB_UNSPECIFIED": 0,
"PUT": 1,
"GET": 2,
"HEAD": 3,
"SEARCH": 4,
"DELETE": 5,
"RANGE": 6,
"RANGEHASH": 7,
}
)
2020-08-12 09:57:28 +00:00
func (x ObjectSessionContext_Verb) Enum() *ObjectSessionContext_Verb {
p := new(ObjectSessionContext_Verb)
*p = x
return p
2020-08-12 09:57:28 +00:00
}
func (x ObjectSessionContext_Verb) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ObjectSessionContext_Verb) Descriptor() protoreflect.EnumDescriptor {
return file_session_grpc_types_proto_enumTypes[0].Descriptor()
2020-08-12 09:57:28 +00:00
}
func (ObjectSessionContext_Verb) Type() protoreflect.EnumType {
return &file_session_grpc_types_proto_enumTypes[0]
}
func (x ObjectSessionContext_Verb) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ObjectSessionContext_Verb.Descriptor instead.
func (ObjectSessionContext_Verb) EnumDescriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{0, 0}
2020-08-12 09:57:28 +00:00
}
// Container request verbs
type ContainerSessionContext_Verb int32
const (
// Unknown verb
ContainerSessionContext_VERB_UNSPECIFIED ContainerSessionContext_Verb = 0
// Refers to container.Put RPC call
ContainerSessionContext_PUT ContainerSessionContext_Verb = 1
// Refers to container.Delete RPC call
ContainerSessionContext_DELETE ContainerSessionContext_Verb = 2
// Refers to container.SetExtendedACL RPC call
ContainerSessionContext_SETEACL ContainerSessionContext_Verb = 3
)
// Enum value maps for ContainerSessionContext_Verb.
var (
ContainerSessionContext_Verb_name = map[int32]string{
0: "VERB_UNSPECIFIED",
1: "PUT",
2: "DELETE",
3: "SETEACL",
}
ContainerSessionContext_Verb_value = map[string]int32{
"VERB_UNSPECIFIED": 0,
"PUT": 1,
"DELETE": 2,
"SETEACL": 3,
}
)
func (x ContainerSessionContext_Verb) Enum() *ContainerSessionContext_Verb {
p := new(ContainerSessionContext_Verb)
*p = x
return p
}
func (x ContainerSessionContext_Verb) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ContainerSessionContext_Verb) Descriptor() protoreflect.EnumDescriptor {
return file_session_grpc_types_proto_enumTypes[1].Descriptor()
}
func (ContainerSessionContext_Verb) Type() protoreflect.EnumType {
return &file_session_grpc_types_proto_enumTypes[1]
}
func (x ContainerSessionContext_Verb) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ContainerSessionContext_Verb.Descriptor instead.
func (ContainerSessionContext_Verb) EnumDescriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{1, 0}
}
// Context information for Session Tokens related to ObjectService requests
type ObjectSessionContext struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Type of request for which the token is issued
Verb ObjectSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ObjectSessionContext_Verb" json:"verb,omitempty"`
// Object session target. MUST be correctly formed and set. If `objects`
// field is not empty, then the session applies only to these elements,
// otherwise, to all objects from the specified container.
Target *ObjectSessionContext_Target `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
}
func (x *ObjectSessionContext) Reset() {
*x = ObjectSessionContext{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ObjectSessionContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ObjectSessionContext) ProtoMessage() {}
func (x *ObjectSessionContext) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ObjectSessionContext.ProtoReflect.Descriptor instead.
func (*ObjectSessionContext) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{0}
}
func (x *ObjectSessionContext) GetVerb() ObjectSessionContext_Verb {
if x != nil {
return x.Verb
}
return ObjectSessionContext_VERB_UNSPECIFIED
}
func (x *ObjectSessionContext) GetTarget() *ObjectSessionContext_Target {
if x != nil {
return x.Target
}
return nil
}
// Context information for Session Tokens related to ContainerService requests.
type ContainerSessionContext struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Type of request for which the token is issued
Verb ContainerSessionContext_Verb `protobuf:"varint,1,opt,name=verb,proto3,enum=neo.fs.v2.session.ContainerSessionContext_Verb" json:"verb,omitempty"`
// Spreads the action to all owner containers.
// If set, container_id field is ignored.
Wildcard bool `protobuf:"varint,2,opt,name=wildcard,proto3" json:"wildcard,omitempty"`
// Particular container to which the action applies.
// Ignored if wildcard flag is set.
ContainerId *grpc.ContainerID `protobuf:"bytes,3,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"`
}
func (x *ContainerSessionContext) Reset() {
*x = ContainerSessionContext{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ContainerSessionContext) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerSessionContext) ProtoMessage() {}
func (x *ContainerSessionContext) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerSessionContext.ProtoReflect.Descriptor instead.
func (*ContainerSessionContext) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{1}
}
func (x *ContainerSessionContext) GetVerb() ContainerSessionContext_Verb {
if x != nil {
return x.Verb
}
return ContainerSessionContext_VERB_UNSPECIFIED
}
func (x *ContainerSessionContext) GetWildcard() bool {
if x != nil {
return x.Wildcard
}
return false
}
func (x *ContainerSessionContext) GetContainerId() *grpc.ContainerID {
if x != nil {
return x.ContainerId
}
return nil
}
// NeoFS Session Token.
2020-08-12 09:57:28 +00:00
type SessionToken struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Session Token contains the proof of trust between peers to be attached in
// requests for further verification. Please see corresponding section of
// NeoFS Technical Specification for details.
2020-08-14 06:49:05 +00:00
Body *SessionToken_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
// Signature of `SessionToken` information
Signature *grpc.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken) Reset() {
*x = SessionToken{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
}
func (x *SessionToken) String() string {
return protoimpl.X.MessageStringOf(x)
2020-08-12 09:57:28 +00:00
}
func (*SessionToken) ProtoMessage() {}
2020-08-12 09:57:28 +00:00
func (x *SessionToken) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
return ms
2020-08-12 09:57:28 +00:00
}
return mi.MessageOf(x)
2020-08-12 09:57:28 +00:00
}
// Deprecated: Use SessionToken.ProtoReflect.Descriptor instead.
func (*SessionToken) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{2}
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken) GetBody() *SessionToken_Body {
if x != nil {
return x.Body
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *SessionToken) GetSignature() *grpc.Signature {
if x != nil {
return x.Signature
2020-08-12 09:57:28 +00:00
}
return nil
}
// Extended headers for Request/Response. They may contain any user-defined headers
// to be interpreted on application level.
//
// Key name must be a unique valid UTF-8 string. Value can't be empty. Requests or
// Responses with duplicated header names or headers with empty values will be
// considered invalid.
//
// There are some "well-known" headers starting with `__SYSTEM__` (`__NEOFS__` is deprecated) prefix that
// affect system behaviour:
//
// - [ __SYSTEM__NETMAP_EPOCH ] \
// (`__NEOFS__NETMAP_EPOCH` is deprecated) \
// Netmap epoch to use for object placement calculation. The `value` is string
// encoded `uint64` in decimal presentation. If set to '0' or not set, the
// current epoch only will be used.
// - [ __SYSTEM__NETMAP_LOOKUP_DEPTH ] \
// (`__NEOFS__NETMAP_LOOKUP_DEPTH` is deprecated) \
// If object can't be found using current epoch's netmap, this header limits
// how many past epochs the node can look up through. The `value` is string
// encoded `uint64` in decimal presentation. If set to '0' or not set, only the
// current epoch will be used.
type XHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2020-08-12 09:57:28 +00:00
// Key of the X-Header
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
// Value of the X-Header
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
2020-08-12 09:57:28 +00:00
}
func (x *XHeader) Reset() {
*x = XHeader{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
}
func (x *XHeader) String() string {
return protoimpl.X.MessageStringOf(x)
2020-08-12 09:57:28 +00:00
}
func (*XHeader) ProtoMessage() {}
2020-08-12 09:57:28 +00:00
func (x *XHeader) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use XHeader.ProtoReflect.Descriptor instead.
func (*XHeader) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{3}
2020-08-12 09:57:28 +00:00
}
func (x *XHeader) GetKey() string {
if x != nil {
return x.Key
2020-08-12 09:57:28 +00:00
}
return ""
2020-08-12 09:57:28 +00:00
}
func (x *XHeader) GetValue() string {
if x != nil {
return x.Value
2020-08-12 09:57:28 +00:00
}
return ""
2020-08-12 09:57:28 +00:00
}
// Meta information attached to the request. When forwarded between peers,
// request meta headers are folded in matryoshka style.
2020-08-12 09:57:28 +00:00
type RequestMetaHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Peer's API version used
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Peer's local epoch number. Set to 0 if unknown.
2020-08-12 09:57:28 +00:00
Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
// Maximum number of intermediate nodes in the request route
2020-08-12 09:57:28 +00:00
Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
// Request X-Headers
2020-08-12 09:57:28 +00:00
XHeaders []*XHeader `protobuf:"bytes,4,rep,name=x_headers,json=xHeaders,proto3" json:"x_headers,omitempty"`
// Session token within which the request is sent
2020-08-14 06:49:05 +00:00
SessionToken *SessionToken `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
// `BearerToken` with eACL overrides for the request
BearerToken *grpc1.BearerToken `protobuf:"bytes,6,opt,name=bearer_token,json=bearerToken,proto3" json:"bearer_token,omitempty"`
// `RequestMetaHeader` of the origin request
Origin *RequestMetaHeader `protobuf:"bytes,7,opt,name=origin,proto3" json:"origin,omitempty"`
// NeoFS network magic. Must match the value for the network
// that the server belongs to.
MagicNumber uint64 `protobuf:"varint,8,opt,name=magic_number,json=magicNumber,proto3" json:"magic_number,omitempty"`
2020-08-12 09:57:28 +00:00
}
func (x *RequestMetaHeader) Reset() {
*x = RequestMetaHeader{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
}
func (x *RequestMetaHeader) String() string {
return protoimpl.X.MessageStringOf(x)
2020-08-12 09:57:28 +00:00
}
func (*RequestMetaHeader) ProtoMessage() {}
func (x *RequestMetaHeader) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
2020-08-12 09:57:28 +00:00
}
// Deprecated: Use RequestMetaHeader.ProtoReflect.Descriptor instead.
func (*RequestMetaHeader) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{4}
}
2020-08-12 09:57:28 +00:00
func (x *RequestMetaHeader) GetVersion() *grpc.Version {
if x != nil {
return x.Version
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *RequestMetaHeader) GetEpoch() uint64 {
if x != nil {
return x.Epoch
2020-08-12 09:57:28 +00:00
}
return 0
}
func (x *RequestMetaHeader) GetTtl() uint32 {
if x != nil {
return x.Ttl
2020-08-12 09:57:28 +00:00
}
return 0
}
func (x *RequestMetaHeader) GetXHeaders() []*XHeader {
if x != nil {
return x.XHeaders
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *RequestMetaHeader) GetSessionToken() *SessionToken {
if x != nil {
return x.SessionToken
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *RequestMetaHeader) GetBearerToken() *grpc1.BearerToken {
if x != nil {
return x.BearerToken
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *RequestMetaHeader) GetOrigin() *RequestMetaHeader {
if x != nil {
return x.Origin
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *RequestMetaHeader) GetMagicNumber() uint64 {
if x != nil {
return x.MagicNumber
}
return 0
}
2020-08-12 09:57:28 +00:00
// Information about the response
type ResponseMetaHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Peer's API version used
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Peer's local epoch number
2020-08-12 09:57:28 +00:00
Epoch uint64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
// Maximum number of intermediate nodes in the request route
2020-08-12 09:57:28 +00:00
Ttl uint32 `protobuf:"varint,3,opt,name=ttl,proto3" json:"ttl,omitempty"`
// Response X-Headers
2020-08-12 09:57:28 +00:00
XHeaders []*XHeader `protobuf:"bytes,4,rep,name=x_headers,json=xHeaders,proto3" json:"x_headers,omitempty"`
// `ResponseMetaHeader` of the origin request
Origin *ResponseMetaHeader `protobuf:"bytes,5,opt,name=origin,proto3" json:"origin,omitempty"`
// Status return
Status *grpc2.Status `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
2020-08-12 09:57:28 +00:00
}
func (x *ResponseMetaHeader) Reset() {
*x = ResponseMetaHeader{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
}
func (x *ResponseMetaHeader) String() string {
return protoimpl.X.MessageStringOf(x)
2020-08-12 09:57:28 +00:00
}
func (*ResponseMetaHeader) ProtoMessage() {}
func (x *ResponseMetaHeader) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
2020-08-12 09:57:28 +00:00
}
// Deprecated: Use ResponseMetaHeader.ProtoReflect.Descriptor instead.
func (*ResponseMetaHeader) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{5}
}
2020-08-12 09:57:28 +00:00
func (x *ResponseMetaHeader) GetVersion() *grpc.Version {
if x != nil {
return x.Version
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *ResponseMetaHeader) GetEpoch() uint64 {
if x != nil {
return x.Epoch
2020-08-12 09:57:28 +00:00
}
return 0
}
func (x *ResponseMetaHeader) GetTtl() uint32 {
if x != nil {
return x.Ttl
2020-08-12 09:57:28 +00:00
}
return 0
}
func (x *ResponseMetaHeader) GetXHeaders() []*XHeader {
if x != nil {
return x.XHeaders
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *ResponseMetaHeader) GetOrigin() *ResponseMetaHeader {
if x != nil {
return x.Origin
2020-08-12 09:57:28 +00:00
}
return nil
}
func (x *ResponseMetaHeader) GetStatus() *grpc2.Status {
if x != nil {
return x.Status
}
return nil
}
// Verification info for the request signed by all intermediate nodes.
type RequestVerificationHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Request Body signature. Should be generated once by the request initiator.
BodySignature *grpc.Signature `protobuf:"bytes,1,opt,name=body_signature,json=bodySignature,proto3" json:"body_signature,omitempty"`
// Request Meta signature is added and signed by each intermediate node
MetaSignature *grpc.Signature `protobuf:"bytes,2,opt,name=meta_signature,json=metaSignature,proto3" json:"meta_signature,omitempty"`
// Signature of previous hops
OriginSignature *grpc.Signature `protobuf:"bytes,3,opt,name=origin_signature,json=originSignature,proto3" json:"origin_signature,omitempty"`
// Chain of previous hops signatures
Origin *RequestVerificationHeader `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"`
}
func (x *RequestVerificationHeader) Reset() {
*x = RequestVerificationHeader{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestVerificationHeader) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestVerificationHeader) ProtoMessage() {}
func (x *RequestVerificationHeader) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestVerificationHeader.ProtoReflect.Descriptor instead.
func (*RequestVerificationHeader) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{6}
}
func (x *RequestVerificationHeader) GetBodySignature() *grpc.Signature {
if x != nil {
return x.BodySignature
}
return nil
}
func (x *RequestVerificationHeader) GetMetaSignature() *grpc.Signature {
if x != nil {
return x.MetaSignature
}
return nil
}
func (x *RequestVerificationHeader) GetOriginSignature() *grpc.Signature {
if x != nil {
return x.OriginSignature
}
return nil
}
func (x *RequestVerificationHeader) GetOrigin() *RequestVerificationHeader {
if x != nil {
return x.Origin
}
return nil
}
// Verification info for the response signed by all intermediate nodes
type ResponseVerificationHeader struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Response Body signature. Should be generated once by an answering node.
BodySignature *grpc.Signature `protobuf:"bytes,1,opt,name=body_signature,json=bodySignature,proto3" json:"body_signature,omitempty"`
// Response Meta signature is added and signed by each intermediate node
MetaSignature *grpc.Signature `protobuf:"bytes,2,opt,name=meta_signature,json=metaSignature,proto3" json:"meta_signature,omitempty"`
// Signature of previous hops
OriginSignature *grpc.Signature `protobuf:"bytes,3,opt,name=origin_signature,json=originSignature,proto3" json:"origin_signature,omitempty"`
// Chain of previous hops signatures
Origin *ResponseVerificationHeader `protobuf:"bytes,4,opt,name=origin,proto3" json:"origin,omitempty"`
}
func (x *ResponseVerificationHeader) Reset() {
*x = ResponseVerificationHeader{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResponseVerificationHeader) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResponseVerificationHeader) ProtoMessage() {}
func (x *ResponseVerificationHeader) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResponseVerificationHeader.ProtoReflect.Descriptor instead.
func (*ResponseVerificationHeader) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{7}
}
func (x *ResponseVerificationHeader) GetBodySignature() *grpc.Signature {
if x != nil {
return x.BodySignature
}
return nil
}
func (x *ResponseVerificationHeader) GetMetaSignature() *grpc.Signature {
if x != nil {
return x.MetaSignature
}
return nil
}
func (x *ResponseVerificationHeader) GetOriginSignature() *grpc.Signature {
if x != nil {
return x.OriginSignature
2020-08-12 09:57:28 +00:00
}
return nil
2020-08-12 09:57:28 +00:00
}
func (x *ResponseVerificationHeader) GetOrigin() *ResponseVerificationHeader {
if x != nil {
return x.Origin
}
return nil
}
// Carries objects involved in the object session.
type ObjectSessionContext_Target struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Indicates which container the session is spread to. Field MUST be set
// and correct.
Container *grpc.ContainerID `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
// Indicates which objects the session is spread to. Objects are expected
// to be stored in the NeoFS container referenced by `container` field.
// Each element MUST have correct format.
Objects []*grpc.ObjectID `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"`
}
func (x *ObjectSessionContext_Target) Reset() {
*x = ObjectSessionContext_Target{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ObjectSessionContext_Target) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ObjectSessionContext_Target) ProtoMessage() {}
func (x *ObjectSessionContext_Target) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ObjectSessionContext_Target.ProtoReflect.Descriptor instead.
func (*ObjectSessionContext_Target) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{0, 0}
}
func (x *ObjectSessionContext_Target) GetContainer() *grpc.ContainerID {
if x != nil {
return x.Container
}
return nil
}
func (x *ObjectSessionContext_Target) GetObjects() []*grpc.ObjectID {
if x != nil {
return x.Objects
}
return nil
}
// Session Token body
type SessionToken_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2020-08-12 09:57:28 +00:00
// Token identifier is a valid UUIDv4 in binary form
Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Identifier of the session initiator
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
// Lifetime of the session
Lifetime *SessionToken_Body_TokenLifetime `protobuf:"bytes,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
// Public key used in session
SessionKey []byte `protobuf:"bytes,4,opt,name=session_key,json=sessionKey,proto3" json:"session_key,omitempty"`
// Session Context information
//
// Types that are assignable to Context:
//
// *SessionToken_Body_Object
// *SessionToken_Body_Container
Context isSessionToken_Body_Context `protobuf_oneof:"context"`
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body) Reset() {
*x = SessionToken_Body{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
}
func (x *SessionToken_Body) String() string {
return protoimpl.X.MessageStringOf(x)
2020-08-12 09:57:28 +00:00
}
func (*SessionToken_Body) ProtoMessage() {}
2020-08-12 09:57:28 +00:00
func (x *SessionToken_Body) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
return ms
2020-08-12 09:57:28 +00:00
}
return mi.MessageOf(x)
2020-08-12 09:57:28 +00:00
}
// Deprecated: Use SessionToken_Body.ProtoReflect.Descriptor instead.
func (*SessionToken_Body) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{2, 0}
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body) GetId() []byte {
if x != nil {
return x.Id
2020-08-12 09:57:28 +00:00
}
return nil
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body) GetOwnerId() *grpc.OwnerID {
if x != nil {
return x.OwnerId
2020-08-12 09:57:28 +00:00
}
return nil
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body) GetLifetime() *SessionToken_Body_TokenLifetime {
if x != nil {
return x.Lifetime
2020-08-12 09:57:28 +00:00
}
return nil
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body) GetSessionKey() []byte {
if x != nil {
return x.SessionKey
}
return nil
2020-08-12 09:57:28 +00:00
}
func (m *SessionToken_Body) GetContext() isSessionToken_Body_Context {
if m != nil {
return m.Context
}
return nil
}
func (x *SessionToken_Body) GetObject() *ObjectSessionContext {
if x, ok := x.GetContext().(*SessionToken_Body_Object); ok {
return x.Object
}
return nil
}
func (x *SessionToken_Body) GetContainer() *ContainerSessionContext {
if x, ok := x.GetContext().(*SessionToken_Body_Container); ok {
return x.Container
}
return nil
}
type isSessionToken_Body_Context interface {
isSessionToken_Body_Context()
}
type SessionToken_Body_Object struct {
// ObjectService session context
Object *ObjectSessionContext `protobuf:"bytes,5,opt,name=object,proto3,oneof"`
}
type SessionToken_Body_Container struct {
// ContainerService session context
Container *ContainerSessionContext `protobuf:"bytes,6,opt,name=container,proto3,oneof"`
}
func (*SessionToken_Body_Object) isSessionToken_Body_Context() {}
2020-08-12 09:57:28 +00:00
func (*SessionToken_Body_Container) isSessionToken_Body_Context() {}
// Lifetime parameters of the token. Field names taken from rfc7519.
type SessionToken_Body_TokenLifetime struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
2020-08-12 09:57:28 +00:00
// Expiration Epoch
Exp uint64 `protobuf:"varint,1,opt,name=exp,proto3" json:"exp,omitempty"`
// Not valid before Epoch
Nbf uint64 `protobuf:"varint,2,opt,name=nbf,proto3" json:"nbf,omitempty"`
// Issued at Epoch
Iat uint64 `protobuf:"varint,3,opt,name=iat,proto3" json:"iat,omitempty"`
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body_TokenLifetime) Reset() {
*x = SessionToken_Body_TokenLifetime{}
if protoimpl.UnsafeEnabled {
mi := &file_session_grpc_types_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-08-12 09:57:28 +00:00
}
}
func (x *SessionToken_Body_TokenLifetime) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SessionToken_Body_TokenLifetime) ProtoMessage() {}
func (x *SessionToken_Body_TokenLifetime) ProtoReflect() protoreflect.Message {
mi := &file_session_grpc_types_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
2020-08-12 09:57:28 +00:00
// Deprecated: Use SessionToken_Body_TokenLifetime.ProtoReflect.Descriptor instead.
func (*SessionToken_Body_TokenLifetime) Descriptor() ([]byte, []int) {
return file_session_grpc_types_proto_rawDescGZIP(), []int{2, 0, 0}
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body_TokenLifetime) GetExp() uint64 {
if x != nil {
return x.Exp
2020-08-12 09:57:28 +00:00
}
return 0
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body_TokenLifetime) GetNbf() uint64 {
if x != nil {
return x.Nbf
2020-08-12 09:57:28 +00:00
}
return 0
2020-08-12 09:57:28 +00:00
}
func (x *SessionToken_Body_TokenLifetime) GetIat() uint64 {
if x != nil {
return x.Iat
2020-08-12 09:57:28 +00:00
}
return 0
2020-08-12 09:57:28 +00:00
}
var File_session_grpc_types_proto protoreflect.FileDescriptor
var file_session_grpc_types_proto_rawDesc = []byte{
0x0a, 0x18, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6e, 0x65, 0x6f, 0x2e,
0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x15, 0x72,
0x65, 0x66, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x61, 0x63, 0x6c, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74,
0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0x85, 0x03, 0x0a, 0x14, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x40, 0x0a, 0x04,
0x76, 0x65, 0x72, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f,
0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x78, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x46,
0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e,
0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69,
0x6f, 0x6e, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x06,
0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x77, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
0x12, 0x39, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44,
0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x6f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e,
0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22,
0x6a, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62, 0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a,
0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x45, 0x54, 0x10, 0x02, 0x12,
0x08, 0x0a, 0x04, 0x48, 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x41,
0x52, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10,
0x05, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09,
0x52, 0x41, 0x4e, 0x47, 0x45, 0x48, 0x41, 0x53, 0x48, 0x10, 0x07, 0x22, 0xfa, 0x01, 0x0a, 0x17,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
0x6e, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78,
0x74, 0x2e, 0x56, 0x65, 0x72, 0x62, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, 0x1a, 0x0a, 0x08,
0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
0x77, 0x69, 0x6c, 0x64, 0x63, 0x61, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74,
0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e,
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3e, 0x0a, 0x04, 0x56, 0x65, 0x72, 0x62,
0x12, 0x14, 0x0a, 0x10, 0x56, 0x45, 0x52, 0x42, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x55, 0x54, 0x10, 0x01, 0x12,
0x0a, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53,
0x45, 0x54, 0x45, 0x41, 0x43, 0x4c, 0x10, 0x03, 0x22, 0xa0, 0x04, 0x0a, 0x0c, 0x53, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x38, 0x0a, 0x04, 0x62, 0x6f, 0x64,
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x04, 0x62,
0x6f, 0x64, 0x79, 0x12, 0x37, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
0x65, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x1a, 0x9c, 0x03, 0x0a,
0x04, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69,
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44,
0x52, 0x07, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x4e, 0x0a, 0x08, 0x6c, 0x69, 0x66,
0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6e, 0x65,
0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e,
0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x42, 0x6f, 0x64,
0x79, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x52,
0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x06, 0x6f, 0x62,
0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x65, 0x6f,
0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x4f,
0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4a, 0x0a,
0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x09,
0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x1a, 0x45, 0x0a, 0x0d, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x4c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78,
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x10, 0x0a, 0x03,
0x6e, 0x62, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6e, 0x62, 0x66, 0x12, 0x10,
0x0a, 0x03, 0x69, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x69, 0x61, 0x74,
0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x31, 0x0a, 0x07, 0x58,
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8d,
0x03, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65,
0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68,
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x10, 0x0a,
0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12,
0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x08,
0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x1f, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d,
0x0a, 0x0c, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
0x2e, 0x61, 0x63, 0x6c, 0x2e, 0x42, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x52, 0x0b, 0x62, 0x65, 0x61, 0x72, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3c, 0x0a,
0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,
0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61,
0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6d,
0x61, 0x67, 0x69, 0x63, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28,
0x04, 0x52, 0x0b, 0x6d, 0x61, 0x67, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x99,
0x02, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48,
0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x10,
0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x74, 0x74, 0x6c,
0x12, 0x37, 0x0a, 0x09, 0x78, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e,
0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x58, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52,
0x08, 0x78, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x06, 0x6f, 0x72, 0x69,
0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x65, 0x6f, 0x2e,
0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74,
0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x19, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64, 0x79,
0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66,
0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x64,
0x79, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x65,
0x74, 0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72,
0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x6d,
0x65, 0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x10,
0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
0x65, 0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73,
0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x65,
0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xad, 0x02, 0x0a, 0x1a, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0e, 0x62, 0x6f, 0x64, 0x79, 0x5f,
0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73,
0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x64, 0x79,
0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x65, 0x74,
0x61, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65,
0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0d, 0x6d, 0x65,
0x74, 0x61, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x6f,
0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
0x52, 0x0f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72,
0x65, 0x12, 0x45, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65,
0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x65,
0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x42, 0x64, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x2e,
0x66, 0x72, 0x6f, 0x73, 0x74, 0x66, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x2f, 0x54, 0x72, 0x75,
0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x4c, 0x61, 0x62, 0x2f, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x66,
0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x73, 0x73,
0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
0xaa, 0x02, 0x1b, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_session_grpc_types_proto_rawDescOnce sync.Once
file_session_grpc_types_proto_rawDescData = file_session_grpc_types_proto_rawDesc
)
2020-08-12 09:57:28 +00:00
func file_session_grpc_types_proto_rawDescGZIP() []byte {
file_session_grpc_types_proto_rawDescOnce.Do(func() {
file_session_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_session_grpc_types_proto_rawDescData)
})
return file_session_grpc_types_proto_rawDescData
}
var file_session_grpc_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_session_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
var file_session_grpc_types_proto_goTypes = []interface{}{
(ObjectSessionContext_Verb)(0), // 0: neo.fs.v2.session.ObjectSessionContext.Verb
(ContainerSessionContext_Verb)(0), // 1: neo.fs.v2.session.ContainerSessionContext.Verb
(*ObjectSessionContext)(nil), // 2: neo.fs.v2.session.ObjectSessionContext
(*ContainerSessionContext)(nil), // 3: neo.fs.v2.session.ContainerSessionContext
(*SessionToken)(nil), // 4: neo.fs.v2.session.SessionToken
(*XHeader)(nil), // 5: neo.fs.v2.session.XHeader
(*RequestMetaHeader)(nil), // 6: neo.fs.v2.session.RequestMetaHeader
(*ResponseMetaHeader)(nil), // 7: neo.fs.v2.session.ResponseMetaHeader
(*RequestVerificationHeader)(nil), // 8: neo.fs.v2.session.RequestVerificationHeader
(*ResponseVerificationHeader)(nil), // 9: neo.fs.v2.session.ResponseVerificationHeader
(*ObjectSessionContext_Target)(nil), // 10: neo.fs.v2.session.ObjectSessionContext.Target
(*SessionToken_Body)(nil), // 11: neo.fs.v2.session.SessionToken.Body
(*SessionToken_Body_TokenLifetime)(nil), // 12: neo.fs.v2.session.SessionToken.Body.TokenLifetime
(*grpc.ContainerID)(nil), // 13: neo.fs.v2.refs.ContainerID
(*grpc.Signature)(nil), // 14: neo.fs.v2.refs.Signature
(*grpc.Version)(nil), // 15: neo.fs.v2.refs.Version
(*grpc1.BearerToken)(nil), // 16: neo.fs.v2.acl.BearerToken
(*grpc2.Status)(nil), // 17: neo.fs.v2.status.Status
(*grpc.ObjectID)(nil), // 18: neo.fs.v2.refs.ObjectID
(*grpc.OwnerID)(nil), // 19: neo.fs.v2.refs.OwnerID
}
var file_session_grpc_types_proto_depIdxs = []int32{
0, // 0: neo.fs.v2.session.ObjectSessionContext.verb:type_name -> neo.fs.v2.session.ObjectSessionContext.Verb
10, // 1: neo.fs.v2.session.ObjectSessionContext.target:type_name -> neo.fs.v2.session.ObjectSessionContext.Target
1, // 2: neo.fs.v2.session.ContainerSessionContext.verb:type_name -> neo.fs.v2.session.ContainerSessionContext.Verb
13, // 3: neo.fs.v2.session.ContainerSessionContext.container_id:type_name -> neo.fs.v2.refs.ContainerID
11, // 4: neo.fs.v2.session.SessionToken.body:type_name -> neo.fs.v2.session.SessionToken.Body
14, // 5: neo.fs.v2.session.SessionToken.signature:type_name -> neo.fs.v2.refs.Signature
15, // 6: neo.fs.v2.session.RequestMetaHeader.version:type_name -> neo.fs.v2.refs.Version
5, // 7: neo.fs.v2.session.RequestMetaHeader.x_headers:type_name -> neo.fs.v2.session.XHeader
4, // 8: neo.fs.v2.session.RequestMetaHeader.session_token:type_name -> neo.fs.v2.session.SessionToken
16, // 9: neo.fs.v2.session.RequestMetaHeader.bearer_token:type_name -> neo.fs.v2.acl.BearerToken
6, // 10: neo.fs.v2.session.RequestMetaHeader.origin:type_name -> neo.fs.v2.session.RequestMetaHeader
15, // 11: neo.fs.v2.session.ResponseMetaHeader.version:type_name -> neo.fs.v2.refs.Version
5, // 12: neo.fs.v2.session.ResponseMetaHeader.x_headers:type_name -> neo.fs.v2.session.XHeader
7, // 13: neo.fs.v2.session.ResponseMetaHeader.origin:type_name -> neo.fs.v2.session.ResponseMetaHeader
17, // 14: neo.fs.v2.session.ResponseMetaHeader.status:type_name -> neo.fs.v2.status.Status
14, // 15: neo.fs.v2.session.RequestVerificationHeader.body_signature:type_name -> neo.fs.v2.refs.Signature
14, // 16: neo.fs.v2.session.RequestVerificationHeader.meta_signature:type_name -> neo.fs.v2.refs.Signature
14, // 17: neo.fs.v2.session.RequestVerificationHeader.origin_signature:type_name -> neo.fs.v2.refs.Signature
8, // 18: neo.fs.v2.session.RequestVerificationHeader.origin:type_name -> neo.fs.v2.session.RequestVerificationHeader
14, // 19: neo.fs.v2.session.ResponseVerificationHeader.body_signature:type_name -> neo.fs.v2.refs.Signature
14, // 20: neo.fs.v2.session.ResponseVerificationHeader.meta_signature:type_name -> neo.fs.v2.refs.Signature
14, // 21: neo.fs.v2.session.ResponseVerificationHeader.origin_signature:type_name -> neo.fs.v2.refs.Signature
9, // 22: neo.fs.v2.session.ResponseVerificationHeader.origin:type_name -> neo.fs.v2.session.ResponseVerificationHeader
13, // 23: neo.fs.v2.session.ObjectSessionContext.Target.container:type_name -> neo.fs.v2.refs.ContainerID
18, // 24: neo.fs.v2.session.ObjectSessionContext.Target.objects:type_name -> neo.fs.v2.refs.ObjectID
19, // 25: neo.fs.v2.session.SessionToken.Body.owner_id:type_name -> neo.fs.v2.refs.OwnerID
12, // 26: neo.fs.v2.session.SessionToken.Body.lifetime:type_name -> neo.fs.v2.session.SessionToken.Body.TokenLifetime
2, // 27: neo.fs.v2.session.SessionToken.Body.object:type_name -> neo.fs.v2.session.ObjectSessionContext
3, // 28: neo.fs.v2.session.SessionToken.Body.container:type_name -> neo.fs.v2.session.ContainerSessionContext
29, // [29:29] is the sub-list for method output_type
29, // [29:29] is the sub-list for method input_type
29, // [29:29] is the sub-list for extension type_name
29, // [29:29] is the sub-list for extension extendee
0, // [0:29] is the sub-list for field type_name
}
func init() { file_session_grpc_types_proto_init() }
func file_session_grpc_types_proto_init() {
if File_session_grpc_types_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_session_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ObjectSessionContext); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContainerSessionContext); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SessionToken); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*XHeader); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestMetaHeader); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResponseMetaHeader); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestVerificationHeader); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResponseVerificationHeader); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ObjectSessionContext_Target); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SessionToken_Body); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_session_grpc_types_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SessionToken_Body_TokenLifetime); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_session_grpc_types_proto_msgTypes[9].OneofWrappers = []interface{}{
(*SessionToken_Body_Object)(nil),
(*SessionToken_Body_Container)(nil),
2020-08-12 09:57:28 +00:00
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_session_grpc_types_proto_rawDesc,
NumEnums: 2,
NumMessages: 11,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_session_grpc_types_proto_goTypes,
DependencyIndexes: file_session_grpc_types_proto_depIdxs,
EnumInfos: file_session_grpc_types_proto_enumTypes,
MessageInfos: file_session_grpc_types_proto_msgTypes,
}.Build()
File_session_grpc_types_proto = out.File
file_session_grpc_types_proto_rawDesc = nil
file_session_grpc_types_proto_goTypes = nil
file_session_grpc_types_proto_depIdxs = nil
2020-08-12 09:57:28 +00:00
}