forked from TrueCloudLab/frostfs-api-go
Airat Arifullin
bc7b49eed2
* Regenerate protobufs as frostfs-api introduced `parent_split_id` and `parent_split_index` fields. * Fix marshaller and converter for EC header. * Extend v2 type `ECHeader` with `ParentSplitID` and `ParentSplitIndex` fields. * Fix message_test for `Object`. Also generate EC headers and check it. Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
1351 lines
50 KiB
Go
Generated
1351 lines
50 KiB
Go
Generated
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.33.0
|
|
// protoc v4.25.3
|
|
// source: object/grpc/types.proto
|
|
|
|
package object
|
|
|
|
import (
|
|
grpc "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/refs/grpc"
|
|
grpc1 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/session/grpc"
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
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)
|
|
)
|
|
|
|
// Type of the object payload content. Only `REGULAR` type objects can be split,
|
|
// hence `TOMBSTONE` and `LOCK` payload is limited by the
|
|
// maximum object size.
|
|
//
|
|
// String presentation of object type is the same as definition:
|
|
// * REGULAR
|
|
// * TOMBSTONE
|
|
// * LOCK
|
|
type ObjectType int32
|
|
|
|
const (
|
|
// Just a normal object
|
|
ObjectType_REGULAR ObjectType = 0
|
|
// Used internally to identify deleted objects
|
|
ObjectType_TOMBSTONE ObjectType = 1
|
|
// Object lock
|
|
ObjectType_LOCK ObjectType = 3
|
|
)
|
|
|
|
// Enum value maps for ObjectType.
|
|
var (
|
|
ObjectType_name = map[int32]string{
|
|
0: "REGULAR",
|
|
1: "TOMBSTONE",
|
|
3: "LOCK",
|
|
}
|
|
ObjectType_value = map[string]int32{
|
|
"REGULAR": 0,
|
|
"TOMBSTONE": 1,
|
|
"LOCK": 3,
|
|
}
|
|
)
|
|
|
|
func (x ObjectType) Enum() *ObjectType {
|
|
p := new(ObjectType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x ObjectType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (ObjectType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_object_grpc_types_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (ObjectType) Type() protoreflect.EnumType {
|
|
return &file_object_grpc_types_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x ObjectType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use ObjectType.Descriptor instead.
|
|
func (ObjectType) EnumDescriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
// Type of match expression
|
|
type MatchType int32
|
|
|
|
const (
|
|
// Unknown. Not used
|
|
MatchType_MATCH_TYPE_UNSPECIFIED MatchType = 0
|
|
// Full string match
|
|
MatchType_STRING_EQUAL MatchType = 1
|
|
// Full string mismatch
|
|
MatchType_STRING_NOT_EQUAL MatchType = 2
|
|
// Lack of key
|
|
MatchType_NOT_PRESENT MatchType = 3
|
|
// String prefix match
|
|
MatchType_COMMON_PREFIX MatchType = 4
|
|
)
|
|
|
|
// Enum value maps for MatchType.
|
|
var (
|
|
MatchType_name = map[int32]string{
|
|
0: "MATCH_TYPE_UNSPECIFIED",
|
|
1: "STRING_EQUAL",
|
|
2: "STRING_NOT_EQUAL",
|
|
3: "NOT_PRESENT",
|
|
4: "COMMON_PREFIX",
|
|
}
|
|
MatchType_value = map[string]int32{
|
|
"MATCH_TYPE_UNSPECIFIED": 0,
|
|
"STRING_EQUAL": 1,
|
|
"STRING_NOT_EQUAL": 2,
|
|
"NOT_PRESENT": 3,
|
|
"COMMON_PREFIX": 4,
|
|
}
|
|
)
|
|
|
|
func (x MatchType) Enum() *MatchType {
|
|
p := new(MatchType)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x MatchType) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (MatchType) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_object_grpc_types_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (MatchType) Type() protoreflect.EnumType {
|
|
return &file_object_grpc_types_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x MatchType) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use MatchType.Descriptor instead.
|
|
func (MatchType) EnumDescriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
// Short header fields
|
|
type ShortHeader struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Object format version. Effectively, the version of API library used to
|
|
// create particular object.
|
|
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
|
// Epoch when the object was created
|
|
CreationEpoch uint64 `protobuf:"varint,2,opt,name=creation_epoch,json=creationEpoch,proto3" json:"creation_epoch,omitempty"`
|
|
// Object's owner
|
|
OwnerId *grpc.OwnerID `protobuf:"bytes,3,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
|
// Type of the object payload content
|
|
ObjectType ObjectType `protobuf:"varint,4,opt,name=object_type,json=objectType,proto3,enum=neo.fs.v2.object.ObjectType" json:"object_type,omitempty"`
|
|
// Size of payload in bytes.
|
|
// `0xFFFFFFFFFFFFFFFF` means `payload_length` is unknown
|
|
PayloadLength uint64 `protobuf:"varint,5,opt,name=payload_length,json=payloadLength,proto3" json:"payload_length,omitempty"`
|
|
// Hash of payload bytes
|
|
PayloadHash *grpc.Checksum `protobuf:"bytes,6,opt,name=payload_hash,json=payloadHash,proto3" json:"payload_hash,omitempty"`
|
|
// Homomorphic hash of the object payload
|
|
HomomorphicHash *grpc.Checksum `protobuf:"bytes,7,opt,name=homomorphic_hash,json=homomorphicHash,proto3" json:"homomorphic_hash,omitempty"`
|
|
}
|
|
|
|
func (x *ShortHeader) Reset() {
|
|
*x = ShortHeader{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ShortHeader) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ShortHeader) ProtoMessage() {}
|
|
|
|
func (x *ShortHeader) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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 ShortHeader.ProtoReflect.Descriptor instead.
|
|
func (*ShortHeader) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *ShortHeader) GetVersion() *grpc.Version {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ShortHeader) GetCreationEpoch() uint64 {
|
|
if x != nil {
|
|
return x.CreationEpoch
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ShortHeader) GetOwnerId() *grpc.OwnerID {
|
|
if x != nil {
|
|
return x.OwnerId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ShortHeader) GetObjectType() ObjectType {
|
|
if x != nil {
|
|
return x.ObjectType
|
|
}
|
|
return ObjectType_REGULAR
|
|
}
|
|
|
|
func (x *ShortHeader) GetPayloadLength() uint64 {
|
|
if x != nil {
|
|
return x.PayloadLength
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ShortHeader) GetPayloadHash() *grpc.Checksum {
|
|
if x != nil {
|
|
return x.PayloadHash
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ShortHeader) GetHomomorphicHash() *grpc.Checksum {
|
|
if x != nil {
|
|
return x.HomomorphicHash
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Object Header
|
|
type Header struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Object format version. Effectively, the version of API library used to
|
|
// create particular object
|
|
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
|
// Object's container
|
|
ContainerId *grpc.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=containerID,proto3" json:"container_id,omitempty"`
|
|
// Object's owner
|
|
OwnerId *grpc.OwnerID `protobuf:"bytes,3,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
|
|
// Object creation Epoch
|
|
CreationEpoch uint64 `protobuf:"varint,4,opt,name=creation_epoch,json=creationEpoch,proto3" json:"creation_epoch,omitempty"`
|
|
// Size of payload in bytes.
|
|
// `0xFFFFFFFFFFFFFFFF` means `payload_length` is unknown.
|
|
PayloadLength uint64 `protobuf:"varint,5,opt,name=payload_length,json=payloadLength,proto3" json:"payload_length,omitempty"`
|
|
// Hash of payload bytes
|
|
PayloadHash *grpc.Checksum `protobuf:"bytes,6,opt,name=payload_hash,json=payloadHash,proto3" json:"payload_hash,omitempty"`
|
|
// Type of the object payload content
|
|
ObjectType ObjectType `protobuf:"varint,7,opt,name=object_type,json=objectType,proto3,enum=neo.fs.v2.object.ObjectType" json:"object_type,omitempty"`
|
|
// Homomorphic hash of the object payload
|
|
HomomorphicHash *grpc.Checksum `protobuf:"bytes,8,opt,name=homomorphic_hash,json=homomorphicHash,proto3" json:"homomorphic_hash,omitempty"`
|
|
// Session token, if it was used during Object creation. Need it to verify
|
|
// integrity and authenticity out of Request scope.
|
|
SessionToken *grpc1.SessionToken `protobuf:"bytes,9,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
|
|
// User-defined object attributes
|
|
Attributes []*Header_Attribute `protobuf:"bytes,10,rep,name=attributes,proto3" json:"attributes,omitempty"`
|
|
// Position of the object in the split hierarchy
|
|
Split *Header_Split `protobuf:"bytes,11,opt,name=split,proto3" json:"split,omitempty"`
|
|
// Erasure code chunk information.
|
|
Ec *Header_EC `protobuf:"bytes,12,opt,name=ec,proto3" json:"ec,omitempty"`
|
|
}
|
|
|
|
func (x *Header) Reset() {
|
|
*x = Header{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Header) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Header) ProtoMessage() {}
|
|
|
|
func (x *Header) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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 Header.ProtoReflect.Descriptor instead.
|
|
func (*Header) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *Header) GetVersion() *grpc.Version {
|
|
if x != nil {
|
|
return x.Version
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetContainerId() *grpc.ContainerID {
|
|
if x != nil {
|
|
return x.ContainerId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetOwnerId() *grpc.OwnerID {
|
|
if x != nil {
|
|
return x.OwnerId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetCreationEpoch() uint64 {
|
|
if x != nil {
|
|
return x.CreationEpoch
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Header) GetPayloadLength() uint64 {
|
|
if x != nil {
|
|
return x.PayloadLength
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Header) GetPayloadHash() *grpc.Checksum {
|
|
if x != nil {
|
|
return x.PayloadHash
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetObjectType() ObjectType {
|
|
if x != nil {
|
|
return x.ObjectType
|
|
}
|
|
return ObjectType_REGULAR
|
|
}
|
|
|
|
func (x *Header) GetHomomorphicHash() *grpc.Checksum {
|
|
if x != nil {
|
|
return x.HomomorphicHash
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetSessionToken() *grpc1.SessionToken {
|
|
if x != nil {
|
|
return x.SessionToken
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetAttributes() []*Header_Attribute {
|
|
if x != nil {
|
|
return x.Attributes
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetSplit() *Header_Split {
|
|
if x != nil {
|
|
return x.Split
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header) GetEc() *Header_EC {
|
|
if x != nil {
|
|
return x.Ec
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Object structure. Object is immutable and content-addressed. It means
|
|
// `ObjectID` will change if the header or the payload changes. It's calculated
|
|
// as a hash of header field which contains hash of the object's payload.
|
|
//
|
|
// For non-regular object types payload format depends on object type specified
|
|
// in the header.
|
|
type Object struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Object's unique identifier.
|
|
ObjectId *grpc.ObjectID `protobuf:"bytes,1,opt,name=object_id,json=objectID,proto3" json:"object_id,omitempty"`
|
|
// Signed object_id
|
|
Signature *grpc.Signature `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
|
|
// Object metadata headers
|
|
Header *Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"`
|
|
// Payload bytes
|
|
Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"`
|
|
}
|
|
|
|
func (x *Object) Reset() {
|
|
*x = Object{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Object) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Object) ProtoMessage() {}
|
|
|
|
func (x *Object) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_grpc_types_proto_msgTypes[2]
|
|
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 Object.ProtoReflect.Descriptor instead.
|
|
func (*Object) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *Object) GetObjectId() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.ObjectId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Object) GetSignature() *grpc.Signature {
|
|
if x != nil {
|
|
return x.Signature
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Object) GetHeader() *Header {
|
|
if x != nil {
|
|
return x.Header
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Object) GetPayload() []byte {
|
|
if x != nil {
|
|
return x.Payload
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Meta information of split hierarchy for object assembly. With the last part
|
|
// one can traverse linked list of split hierarchy back to the first part and
|
|
// assemble the original object. With a linking object one can assemble an
|
|
// object right from the object parts.
|
|
type SplitInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// 16 byte UUID used to identify the split object hierarchy parts.
|
|
SplitId []byte `protobuf:"bytes,1,opt,name=split_id,json=splitId,proto3" json:"split_id,omitempty"`
|
|
// The identifier of the last object in split hierarchy parts. It contains
|
|
// split header with the original object header.
|
|
LastPart *grpc.ObjectID `protobuf:"bytes,2,opt,name=last_part,json=lastPart,proto3" json:"last_part,omitempty"`
|
|
// The identifier of a linking object for split hierarchy parts. It contains
|
|
// split header with the original object header and a sorted list of
|
|
// object parts.
|
|
Link *grpc.ObjectID `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"`
|
|
}
|
|
|
|
func (x *SplitInfo) Reset() {
|
|
*x = SplitInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *SplitInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*SplitInfo) ProtoMessage() {}
|
|
|
|
func (x *SplitInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_grpc_types_proto_msgTypes[3]
|
|
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 SplitInfo.ProtoReflect.Descriptor instead.
|
|
func (*SplitInfo) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *SplitInfo) GetSplitId() []byte {
|
|
if x != nil {
|
|
return x.SplitId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SplitInfo) GetLastPart() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.LastPart
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *SplitInfo) GetLink() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.Link
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Meta information for the erasure-encoded object.
|
|
type ECInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Chunk stored on the node.
|
|
Chunks []*ECInfo_Chunk `protobuf:"bytes,1,rep,name=chunks,proto3" json:"chunks,omitempty"`
|
|
}
|
|
|
|
func (x *ECInfo) Reset() {
|
|
*x = ECInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ECInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ECInfo) ProtoMessage() {}
|
|
|
|
func (x *ECInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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)
|
|
}
|
|
|
|
// Deprecated: Use ECInfo.ProtoReflect.Descriptor instead.
|
|
func (*ECInfo) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *ECInfo) GetChunks() []*ECInfo_Chunk {
|
|
if x != nil {
|
|
return x.Chunks
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// `Attribute` is a user-defined Key-Value metadata pair attached to an
|
|
// object.
|
|
//
|
|
// Key name must be an object-unique valid UTF-8 string. Value can't be empty.
|
|
// Objects with duplicated attribute names or attributes with empty values
|
|
// will be considered invalid.
|
|
//
|
|
// There are some "well-known" attributes starting with `__SYSTEM__`
|
|
// (`__NEOFS__` is deprecated) prefix that affect system behaviour:
|
|
//
|
|
// - [ __SYSTEM__UPLOAD_ID ] \
|
|
// (`__NEOFS__UPLOAD_ID` is deprecated) \
|
|
// Marks smaller parts of a split bigger object
|
|
// - [ __SYSTEM__EXPIRATION_EPOCH ] \
|
|
// (`__NEOFS__EXPIRATION_EPOCH` is deprecated) \
|
|
// The epoch after which object with no LOCKs on it becomes unavailable.
|
|
// Locked object continues to be available until each of the LOCKs expire.
|
|
// - [ __SYSTEM__TICK_EPOCH ] \
|
|
// (`__NEOFS__TICK_EPOCH` is deprecated) \
|
|
// Decimal number that defines what epoch must produce
|
|
// object notification with UTF-8 object address in a
|
|
// body (`0` value produces notification right after
|
|
// object put)
|
|
// - [ __SYSTEM__TICK_TOPIC ] \
|
|
// (`__NEOFS__TICK_TOPIC` is deprecated) \
|
|
// UTF-8 string topic ID that is used for object notification
|
|
//
|
|
// And some well-known attributes used by applications only:
|
|
//
|
|
// - Name \
|
|
// Human-friendly name
|
|
// - FileName \
|
|
// File name to be associated with the object on saving
|
|
// - FilePath \
|
|
// Full path to be associated with the object on saving. Should start with a
|
|
// '/' and use '/' as a delimiting symbol. Trailing '/' should be
|
|
// interpreted as a virtual directory marker. If an object has conflicting
|
|
// FilePath and FileName, FilePath should have higher priority, because it
|
|
// is used to construct the directory tree. FilePath with trailing '/' and
|
|
// non-empty FileName attribute should not be used together.
|
|
// - Timestamp \
|
|
// User-defined local time of object creation in Unix Timestamp format
|
|
// - Content-Type \
|
|
// MIME Content Type of object's payload
|
|
//
|
|
// For detailed description of each well-known attribute please see the
|
|
// corresponding section in NeoFS Technical Specification.
|
|
type Header_Attribute struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// string key to the object attribute
|
|
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
|
// string value of the object attribute
|
|
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
|
|
}
|
|
|
|
func (x *Header_Attribute) Reset() {
|
|
*x = Header_Attribute{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Header_Attribute) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Header_Attribute) ProtoMessage() {}
|
|
|
|
func (x *Header_Attribute) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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)
|
|
}
|
|
|
|
// Deprecated: Use Header_Attribute.ProtoReflect.Descriptor instead.
|
|
func (*Header_Attribute) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{1, 0}
|
|
}
|
|
|
|
func (x *Header_Attribute) GetKey() string {
|
|
if x != nil {
|
|
return x.Key
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Header_Attribute) GetValue() string {
|
|
if x != nil {
|
|
return x.Value
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Bigger objects can be split into a chain of smaller objects. Information
|
|
// about inter-dependencies between spawned objects and how to re-construct
|
|
// the original one is in the `Split` headers. Parent and children objects
|
|
// must be within the same container.
|
|
type Header_Split struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Identifier of the origin object. Known only to the minor child.
|
|
Parent *grpc.ObjectID `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
|
|
// Identifier of the left split neighbor
|
|
Previous *grpc.ObjectID `protobuf:"bytes,2,opt,name=previous,proto3" json:"previous,omitempty"`
|
|
// `signature` field of the parent object. Used to reconstruct parent.
|
|
ParentSignature *grpc.Signature `protobuf:"bytes,3,opt,name=parent_signature,json=parentSignature,proto3" json:"parent_signature,omitempty"`
|
|
// `header` field of the parent object. Used to reconstruct parent.
|
|
ParentHeader *Header `protobuf:"bytes,4,opt,name=parent_header,json=parentHeader,proto3" json:"parent_header,omitempty"`
|
|
// List of identifiers of the objects generated by splitting current one.
|
|
Children []*grpc.ObjectID `protobuf:"bytes,5,rep,name=children,proto3" json:"children,omitempty"`
|
|
// 16 byte UUIDv4 used to identify the split object hierarchy parts. Must be
|
|
// unique inside container. All objects participating in the split must have
|
|
// the same `split_id` value.
|
|
SplitId []byte `protobuf:"bytes,6,opt,name=split_id,json=splitID,proto3" json:"split_id,omitempty"`
|
|
}
|
|
|
|
func (x *Header_Split) Reset() {
|
|
*x = Header_Split{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Header_Split) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Header_Split) ProtoMessage() {}
|
|
|
|
func (x *Header_Split) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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 Header_Split.ProtoReflect.Descriptor instead.
|
|
func (*Header_Split) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{1, 1}
|
|
}
|
|
|
|
func (x *Header_Split) GetParent() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.Parent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_Split) GetPrevious() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.Previous
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_Split) GetParentSignature() *grpc.Signature {
|
|
if x != nil {
|
|
return x.ParentSignature
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_Split) GetParentHeader() *Header {
|
|
if x != nil {
|
|
return x.ParentHeader
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_Split) GetChildren() []*grpc.ObjectID {
|
|
if x != nil {
|
|
return x.Children
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_Split) GetSplitId() []byte {
|
|
if x != nil {
|
|
return x.SplitId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// Erasure code can be applied to any object.
|
|
// Information about encoded object structure is stored in `EC` header.
|
|
// All objects belonging to a single EC group have the same `parent` field.
|
|
type Header_EC struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Identifier of the origin object. Known to all chunks.
|
|
Parent *grpc.ObjectID `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
|
|
// Index of this chunk.
|
|
Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
|
|
// Total number of chunks in this split.
|
|
Total uint32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"`
|
|
// Total length of a parent header. Used to trim padding zeroes.
|
|
HeaderLength uint32 `protobuf:"varint,4,opt,name=header_length,json=headerLength,proto3" json:"header_length,omitempty"`
|
|
// Chunk of a parent header.
|
|
Header []byte `protobuf:"bytes,5,opt,name=header,proto3" json:"header,omitempty"`
|
|
// As the origin object is EC-splitted its identifier is known to all
|
|
// chunks as parent. But parent itself can be a part of Split (does not relate to EC-split).
|
|
// In this case parent_split_id should be set.
|
|
ParentSplitId []byte `protobuf:"bytes,6,opt,name=parent_split_id,json=parentSplitID,proto3" json:"parent_split_id,omitempty"`
|
|
// Parent's index in Split.
|
|
ParentSplitIndex uint32 `protobuf:"varint,7,opt,name=parent_split_index,json=parentSplitIndex,proto3" json:"parent_split_index,omitempty"`
|
|
}
|
|
|
|
func (x *Header_EC) Reset() {
|
|
*x = Header_EC{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Header_EC) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Header_EC) ProtoMessage() {}
|
|
|
|
func (x *Header_EC) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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 Header_EC.ProtoReflect.Descriptor instead.
|
|
func (*Header_EC) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{1, 2}
|
|
}
|
|
|
|
func (x *Header_EC) GetParent() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.Parent
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_EC) GetIndex() uint32 {
|
|
if x != nil {
|
|
return x.Index
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Header_EC) GetTotal() uint32 {
|
|
if x != nil {
|
|
return x.Total
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Header_EC) GetHeaderLength() uint32 {
|
|
if x != nil {
|
|
return x.HeaderLength
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *Header_EC) GetHeader() []byte {
|
|
if x != nil {
|
|
return x.Header
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_EC) GetParentSplitId() []byte {
|
|
if x != nil {
|
|
return x.ParentSplitId
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *Header_EC) GetParentSplitIndex() uint32 {
|
|
if x != nil {
|
|
return x.ParentSplitIndex
|
|
}
|
|
return 0
|
|
}
|
|
|
|
type ECInfo_Chunk struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Object ID of the chunk.
|
|
Id *grpc.ObjectID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
|
// Index of the chunk.
|
|
Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
|
|
// Total number of chunks in this split.
|
|
Total uint32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"`
|
|
}
|
|
|
|
func (x *ECInfo_Chunk) Reset() {
|
|
*x = ECInfo_Chunk{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_object_grpc_types_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ECInfo_Chunk) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ECInfo_Chunk) ProtoMessage() {}
|
|
|
|
func (x *ECInfo_Chunk) ProtoReflect() protoreflect.Message {
|
|
mi := &file_object_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 ECInfo_Chunk.ProtoReflect.Descriptor instead.
|
|
func (*ECInfo_Chunk) Descriptor() ([]byte, []int) {
|
|
return file_object_grpc_types_proto_rawDescGZIP(), []int{4, 0}
|
|
}
|
|
|
|
func (x *ECInfo_Chunk) GetId() *grpc.ObjectID {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ECInfo_Chunk) GetIndex() uint32 {
|
|
if x != nil {
|
|
return x.Index
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *ECInfo_Chunk) GetTotal() uint32 {
|
|
if x != nil {
|
|
return x.Total
|
|
}
|
|
return 0
|
|
}
|
|
|
|
var File_object_grpc_types_proto protoreflect.FileDescriptor
|
|
|
|
var file_object_grpc_types_proto_rawDesc = []byte{
|
|
0x0a, 0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79,
|
|
0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
|
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x15, 0x72, 0x65, 0x66,
|
|
0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f,
|
|
0x74, 0x6f, 0x1a, 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, 0x22, 0x83, 0x03, 0x0a,
|
|
0x0b, 0x53, 0x68, 0x6f, 0x72, 0x74, 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,
|
|
0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63,
|
|
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f,
|
|
0x69, 0x64, 0x18, 0x03, 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, 0x3d, 0x0a, 0x0b, 0x6f, 0x62,
|
|
0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
|
0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65,
|
|
0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f,
|
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x79,
|
|
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28,
|
|
0x04, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68,
|
|
0x12, 0x3b, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68,
|
|
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e,
|
|
0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
|
|
0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x43, 0x0a,
|
|
0x10, 0x68, 0x6f, 0x6d, 0x6f, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x68, 0x61, 0x73,
|
|
0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73,
|
|
0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
|
|
0x6d, 0x52, 0x0f, 0x68, 0x6f, 0x6d, 0x6f, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x48, 0x61,
|
|
0x73, 0x68, 0x22, 0xa0, 0x0a, 0x0a, 0x06, 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, 0x3e, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64,
|
|
0x18, 0x02, 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,
|
|
0x12, 0x32, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 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, 0x25, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
|
0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x63, 0x72,
|
|
0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x70,
|
|
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20,
|
|
0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x65, 0x6e, 0x67,
|
|
0x74, 0x68, 0x12, 0x3b, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x68, 0x61,
|
|
0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
|
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73,
|
|
0x75, 0x6d, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12,
|
|
0x3d, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
|
|
0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79,
|
|
0x70, 0x65, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43,
|
|
0x0a, 0x10, 0x68, 0x6f, 0x6d, 0x6f, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x68, 0x61,
|
|
0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66,
|
|
0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x66, 0x73, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73,
|
|
0x75, 0x6d, 0x52, 0x0f, 0x68, 0x6f, 0x6d, 0x6f, 0x6d, 0x6f, 0x72, 0x70, 0x68, 0x69, 0x63, 0x48,
|
|
0x61, 0x73, 0x68, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
|
|
0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x09, 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, 0x42, 0x0a, 0x0a, 0x61, 0x74, 0x74,
|
|
0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e,
|
|
0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
|
|
0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
|
|
0x65, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a,
|
|
0x05, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e,
|
|
0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e,
|
|
0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x52, 0x05, 0x73, 0x70,
|
|
0x6c, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x02, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x1b, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65,
|
|
0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x45, 0x43, 0x52, 0x02, 0x65, 0x63,
|
|
0x1a, 0x33, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 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, 0x1a, 0xc5, 0x02, 0x0a, 0x05, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12,
|
|
0x30, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 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, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,
|
|
0x74, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x18, 0x02, 0x20,
|
|
0x01, 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, 0x08, 0x70,
|
|
0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x12, 0x44, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e,
|
|
0x74, 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, 0x70, 0x61,
|
|
0x72, 0x65, 0x6e, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3d, 0x0a,
|
|
0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x04,
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32,
|
|
0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0c,
|
|
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x08,
|
|
0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x05, 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, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72,
|
|
0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x06,
|
|
0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x44, 0x1a, 0xf5, 0x01,
|
|
0x0a, 0x02, 0x45, 0x43, 0x12, 0x30, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,
|
|
0x20, 0x01, 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, 0x06,
|
|
0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
|
|
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05,
|
|
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74,
|
|
0x61, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x6e,
|
|
0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65,
|
|
0x72, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65,
|
|
0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
|
|
0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f,
|
|
0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
|
|
0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e,
|
|
0x74, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20,
|
|
0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x6c, 0x69, 0x74,
|
|
0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xc4, 0x01, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
|
|
0x12, 0x35, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
|
|
0x01, 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, 0x08, 0x6f,
|
|
0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 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,
|
|
0x12, 0x30, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x18, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x6f, 0x62, 0x6a,
|
|
0x65, 0x63, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64,
|
|
0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20,
|
|
0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x8b, 0x01, 0x0a,
|
|
0x09, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x70,
|
|
0x6c, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x73, 0x70,
|
|
0x6c, 0x69, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x61,
|
|
0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 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, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x04,
|
|
0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 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, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x9f, 0x01, 0x0a, 0x06, 0x45,
|
|
0x43, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x18,
|
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76,
|
|
0x32, 0x2e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x45, 0x43, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
|
|
0x43, 0x68, 0x75, 0x6e, 0x6b, 0x52, 0x06, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x1a, 0x5d, 0x0a,
|
|
0x05, 0x43, 0x68, 0x75, 0x6e, 0x6b, 0x12, 0x28, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
|
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, 0x02, 0x69, 0x64,
|
|
0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
|
0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18,
|
|
0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x2a, 0x32, 0x0a, 0x0a,
|
|
0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45,
|
|
0x47, 0x55, 0x4c, 0x41, 0x52, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x4f, 0x4d, 0x42, 0x53,
|
|
0x54, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x03,
|
|
0x2a, 0x73, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a,
|
|
0x16, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
|
|
0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x54, 0x52,
|
|
0x49, 0x4e, 0x47, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53,
|
|
0x54, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10,
|
|
0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54,
|
|
0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45,
|
|
0x46, 0x49, 0x58, 0x10, 0x04, 0x42, 0x61, 0x5a, 0x42, 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, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2f,
|
|
0x67, 0x72, 0x70, 0x63, 0x3b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xaa, 0x02, 0x1a, 0x4e, 0x65,
|
|
0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50,
|
|
0x49, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_object_grpc_types_proto_rawDescOnce sync.Once
|
|
file_object_grpc_types_proto_rawDescData = file_object_grpc_types_proto_rawDesc
|
|
)
|
|
|
|
func file_object_grpc_types_proto_rawDescGZIP() []byte {
|
|
file_object_grpc_types_proto_rawDescOnce.Do(func() {
|
|
file_object_grpc_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_object_grpc_types_proto_rawDescData)
|
|
})
|
|
return file_object_grpc_types_proto_rawDescData
|
|
}
|
|
|
|
var file_object_grpc_types_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
|
|
var file_object_grpc_types_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
|
var file_object_grpc_types_proto_goTypes = []interface{}{
|
|
(ObjectType)(0), // 0: neo.fs.v2.object.ObjectType
|
|
(MatchType)(0), // 1: neo.fs.v2.object.MatchType
|
|
(*ShortHeader)(nil), // 2: neo.fs.v2.object.ShortHeader
|
|
(*Header)(nil), // 3: neo.fs.v2.object.Header
|
|
(*Object)(nil), // 4: neo.fs.v2.object.Object
|
|
(*SplitInfo)(nil), // 5: neo.fs.v2.object.SplitInfo
|
|
(*ECInfo)(nil), // 6: neo.fs.v2.object.ECInfo
|
|
(*Header_Attribute)(nil), // 7: neo.fs.v2.object.Header.Attribute
|
|
(*Header_Split)(nil), // 8: neo.fs.v2.object.Header.Split
|
|
(*Header_EC)(nil), // 9: neo.fs.v2.object.Header.EC
|
|
(*ECInfo_Chunk)(nil), // 10: neo.fs.v2.object.ECInfo.Chunk
|
|
(*grpc.Version)(nil), // 11: neo.fs.v2.refs.Version
|
|
(*grpc.OwnerID)(nil), // 12: neo.fs.v2.refs.OwnerID
|
|
(*grpc.Checksum)(nil), // 13: neo.fs.v2.refs.Checksum
|
|
(*grpc.ContainerID)(nil), // 14: neo.fs.v2.refs.ContainerID
|
|
(*grpc1.SessionToken)(nil), // 15: neo.fs.v2.session.SessionToken
|
|
(*grpc.ObjectID)(nil), // 16: neo.fs.v2.refs.ObjectID
|
|
(*grpc.Signature)(nil), // 17: neo.fs.v2.refs.Signature
|
|
}
|
|
var file_object_grpc_types_proto_depIdxs = []int32{
|
|
11, // 0: neo.fs.v2.object.ShortHeader.version:type_name -> neo.fs.v2.refs.Version
|
|
12, // 1: neo.fs.v2.object.ShortHeader.owner_id:type_name -> neo.fs.v2.refs.OwnerID
|
|
0, // 2: neo.fs.v2.object.ShortHeader.object_type:type_name -> neo.fs.v2.object.ObjectType
|
|
13, // 3: neo.fs.v2.object.ShortHeader.payload_hash:type_name -> neo.fs.v2.refs.Checksum
|
|
13, // 4: neo.fs.v2.object.ShortHeader.homomorphic_hash:type_name -> neo.fs.v2.refs.Checksum
|
|
11, // 5: neo.fs.v2.object.Header.version:type_name -> neo.fs.v2.refs.Version
|
|
14, // 6: neo.fs.v2.object.Header.container_id:type_name -> neo.fs.v2.refs.ContainerID
|
|
12, // 7: neo.fs.v2.object.Header.owner_id:type_name -> neo.fs.v2.refs.OwnerID
|
|
13, // 8: neo.fs.v2.object.Header.payload_hash:type_name -> neo.fs.v2.refs.Checksum
|
|
0, // 9: neo.fs.v2.object.Header.object_type:type_name -> neo.fs.v2.object.ObjectType
|
|
13, // 10: neo.fs.v2.object.Header.homomorphic_hash:type_name -> neo.fs.v2.refs.Checksum
|
|
15, // 11: neo.fs.v2.object.Header.session_token:type_name -> neo.fs.v2.session.SessionToken
|
|
7, // 12: neo.fs.v2.object.Header.attributes:type_name -> neo.fs.v2.object.Header.Attribute
|
|
8, // 13: neo.fs.v2.object.Header.split:type_name -> neo.fs.v2.object.Header.Split
|
|
9, // 14: neo.fs.v2.object.Header.ec:type_name -> neo.fs.v2.object.Header.EC
|
|
16, // 15: neo.fs.v2.object.Object.object_id:type_name -> neo.fs.v2.refs.ObjectID
|
|
17, // 16: neo.fs.v2.object.Object.signature:type_name -> neo.fs.v2.refs.Signature
|
|
3, // 17: neo.fs.v2.object.Object.header:type_name -> neo.fs.v2.object.Header
|
|
16, // 18: neo.fs.v2.object.SplitInfo.last_part:type_name -> neo.fs.v2.refs.ObjectID
|
|
16, // 19: neo.fs.v2.object.SplitInfo.link:type_name -> neo.fs.v2.refs.ObjectID
|
|
10, // 20: neo.fs.v2.object.ECInfo.chunks:type_name -> neo.fs.v2.object.ECInfo.Chunk
|
|
16, // 21: neo.fs.v2.object.Header.Split.parent:type_name -> neo.fs.v2.refs.ObjectID
|
|
16, // 22: neo.fs.v2.object.Header.Split.previous:type_name -> neo.fs.v2.refs.ObjectID
|
|
17, // 23: neo.fs.v2.object.Header.Split.parent_signature:type_name -> neo.fs.v2.refs.Signature
|
|
3, // 24: neo.fs.v2.object.Header.Split.parent_header:type_name -> neo.fs.v2.object.Header
|
|
16, // 25: neo.fs.v2.object.Header.Split.children:type_name -> neo.fs.v2.refs.ObjectID
|
|
16, // 26: neo.fs.v2.object.Header.EC.parent:type_name -> neo.fs.v2.refs.ObjectID
|
|
16, // 27: neo.fs.v2.object.ECInfo.Chunk.id:type_name -> neo.fs.v2.refs.ObjectID
|
|
28, // [28:28] is the sub-list for method output_type
|
|
28, // [28:28] is the sub-list for method input_type
|
|
28, // [28:28] is the sub-list for extension type_name
|
|
28, // [28:28] is the sub-list for extension extendee
|
|
0, // [0:28] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_object_grpc_types_proto_init() }
|
|
func file_object_grpc_types_proto_init() {
|
|
if File_object_grpc_types_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_object_grpc_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ShortHeader); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Header); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Object); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*SplitInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ECInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Header_Attribute); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Header_Split); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Header_EC); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_object_grpc_types_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ECInfo_Chunk); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_object_grpc_types_proto_rawDesc,
|
|
NumEnums: 2,
|
|
NumMessages: 9,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_object_grpc_types_proto_goTypes,
|
|
DependencyIndexes: file_object_grpc_types_proto_depIdxs,
|
|
EnumInfos: file_object_grpc_types_proto_enumTypes,
|
|
MessageInfos: file_object_grpc_types_proto_msgTypes,
|
|
}.Build()
|
|
File_object_grpc_types_proto = out.File
|
|
file_object_grpc_types_proto_rawDesc = nil
|
|
file_object_grpc_types_proto_goTypes = nil
|
|
file_object_grpc_types_proto_depIdxs = nil
|
|
}
|