[#404] *: Regenerate code after language fixes

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
Pavel Karpy 2022-06-15 20:30:22 +03:00 committed by fyrchik
parent 454b5c0ed7
commit f9a91e5f33
25 changed files with 350 additions and 225 deletions

View file

@ -162,7 +162,7 @@ func (x *BalanceResponse) GetVerifyHeader() *grpc.ResponseVerificationHeader {
return nil
}
// To indicate the account for which the balance is requested, it's identifier
// To indicate the account for which the balance is requested, its identifier
// is used. It can be any existing account in NeoFS sidechain `Balance` smart
// contract. If omitted, client implementation MUST set it to the request's
// signer `OwnerID`.
@ -216,7 +216,7 @@ func (x *BalanceRequest_Body) GetOwnerId() *grpc1.OwnerID {
}
// The amount of funds in GAS token for the `OwnerID`'s account requested.
// Balance is `Decimal` format to avoid precision issues with rounding.
// Balance is given in the `Decimal` format to avoid precision issues with rounding.
type BalanceResponse_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View file

@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: accounting/grpc/service.proto
package accounting

View file

@ -32,7 +32,7 @@ type Decimal struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Number in smallest Token fractions.
// Number in the smallest Token fractions.
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
// Precision value indicating how many smallest fractions can be in one
// integer.

30
acl/grpc/types.pb.go generated
View file

@ -29,10 +29,10 @@ const (
Role_ROLE_UNSPECIFIED Role = 0
// User target rule is applied if sender is the owner of the container
Role_USER Role = 1
// System target rule is applied if sender is the storage node within the
// container or inner ring node
// System target rule is applied if sender is a storage node within the
// container or an inner ring node
Role_SYSTEM Role = 2
// Others target rule is applied if sender is not user nor system target
// Others target rule is applied if sender is neither a user nor a system target
Role_OTHERS Role = 3
)
@ -394,16 +394,16 @@ func (x *EACLRecord) GetTargets() []*EACLRecord_Target {
return nil
}
// Extended ACL rules table. Defined a list of ACL rules additionally to Basic
// ACL. Extended ACL rules can be attached to the container and can be updated
// Extended ACL rules table. A list of ACL rules defined additionally to Basic
// ACL. Extended ACL rules can be attached to a container and can be updated
// or may be defined in `BearerToken` structure. Please see the corresponding
// NeoFS Technical Specification's section for detailed description.
// NeoFS Technical Specification section for detailed description.
type EACLTable struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// eACL format version. Effectively the version of API library used to create
// eACL format version. Effectively, the version of API library used to create
// eACL Table.
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Identifier of the container that should use given access control rules
@ -472,8 +472,8 @@ func (x *EACLTable) GetRecords() []*EACLRecord {
// used in the similar use cases, like providing authorisation to externally
// authenticated party.
//
// BearerToken can be issued only by container's owner and must be signed using
// the key associated with container's `OwnerID`.
// BearerToken can be issued only by the container's owner and must be signed using
// the key associated with the container's `OwnerID`.
type BearerToken struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -531,7 +531,7 @@ func (x *BearerToken) GetSignature() *grpc.Signature {
return nil
}
// Filter to check particular properties of the request or object.
// Filter to check particular properties of the request or the object.
//
// By default `key` field refers to the corresponding object's `Attribute`.
// Some Object's header fields can also be accessed by adding `$Object:`
@ -695,17 +695,19 @@ func (x *EACLRecord_Target) GetKeys() [][]byte {
return nil
}
// Bearer Token body structure contains Extended ACL table issued by container
// owner with additional information preventing token's abuse.
// Bearer Token body structure contains Extended ACL table issued by the container
// owner with additional information preventing token abuse.
type BearerToken_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Table of Extended ACL rules to use instead of the ones attached to the
// container
// container. If it contains `container_id` field, bearer token is only
// valid for this specific container. Otherwise, any container of the same owner
// is allowed.
EaclTable *EACLTable `protobuf:"bytes,1,opt,name=eacl_table,json=eaclTable,proto3" json:"eacl_table,omitempty"`
// `OwnerID` to whom the token was issued. Must match the request
// `OwnerID` defines to whom the token was issued. It must match the request
// originator's `OwnerID`. If empty, any token bearer will be accepted.
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
// Token expiration and valid time period parameters

View file

@ -28,7 +28,7 @@ type DataAuditResult struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Data Audit Result format version. Effectively the version of API library
// Data Audit Result format version. Effectively, the version of API library
// used to report DataAuditResult structure.
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Epoch number when the Data Audit was conducted
@ -47,14 +47,14 @@ type DataAuditResult struct {
PassSg []*grpc.ObjectID `protobuf:"bytes,8,rep,name=pass_sg,json=passSG,proto3" json:"pass_sg,omitempty"`
// List of Storage Groups that failed audit PoR stage
FailSg []*grpc.ObjectID `protobuf:"bytes,9,rep,name=fail_sg,json=failSG,proto3" json:"fail_sg,omitempty"`
// Number of sampled objects under audit placed in an optimal way according to
// Number of sampled objects under the audit placed in an optimal way according to
// the containers placement policy when checking PoP
Hit uint32 `protobuf:"varint,10,opt,name=hit,proto3" json:"hit,omitempty"`
// Number of sampled objects under audit placed in suboptimal way according to
// Number of sampled objects under the audit placed in suboptimal way according to
// the containers placement policy, but still at a satisfactory level when
// checking PoP
Miss uint32 `protobuf:"varint,11,opt,name=miss,proto3" json:"miss,omitempty"`
// Number of sampled objects under audit stored in a way not confirming
// Number of sampled objects under the audit stored inconsistently with the
// placement policy or not found at all when checking PoP
Fail uint32 `protobuf:"varint,12,opt,name=fail,proto3" json:"fail,omitempty"`
// List of storage node public keys that passed at least one PDP

View file

@ -1069,7 +1069,7 @@ func (x *PutRequest_Body) GetSignature() *grpc1.SignatureRFC6979 {
// Container put response body contains information about the newly registered
// container as seen by `Container` smart contract. `ContainerID` can be
// calculated beforehand from the container structure and compared to the one
// returned here to make sure everything was done as expected.
// returned here to make sure everything has been done as expected.
type PutResponse_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -1118,8 +1118,8 @@ func (x *PutResponse_Body) GetContainerId() *grpc1.ContainerID {
return nil
}
// Container removal request body has a signed `ContainerID` as a proof of
// container owner's intent. The signature will be verified by `Container`
// Container removal request body has signed `ContainerID` as a proof of
// the container owner's intent. The signature will be verified by `Container`
// smart contract, so signing algorithm must be supported by NeoVM.
type DeleteRequest_Body struct {
state protoimpl.MessageState
@ -1268,7 +1268,7 @@ func (x *GetRequest_Body) GetContainerId() *grpc1.ContainerID {
}
// Get container response body does not have container structure signature. It
// was already verified on container creation.
// has been already verified upon container creation.
type GetResponse_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -1278,7 +1278,7 @@ type GetResponse_Body struct {
Container *Container `protobuf:"bytes,1,opt,name=container,proto3" json:"container,omitempty"`
// Signature of a stable-marshalled container according to RFC-6979.
Signature *grpc1.SignatureRFC6979 `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
// Session token if the container was created within a session
// Session token if the container has been created within the session
SessionToken *grpc.SessionToken `protobuf:"bytes,3,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
}
@ -1440,7 +1440,7 @@ type SetExtendedACLRequest_Body struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Extended ACL table to set for container
// Extended ACL table to set for the container
Eacl *grpc2.EACLTable `protobuf:"bytes,1,opt,name=eacl,proto3" json:"eacl,omitempty"`
// Signature of stable-marshalled Extended ACL table according to RFC-6979.
Signature *grpc1.SignatureRFC6979 `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
@ -1493,7 +1493,7 @@ func (x *SetExtendedACLRequest_Body) GetSignature() *grpc1.SignatureRFC6979 {
}
// `SetExtendedACLResponse` has an empty body because the operation is
// asynchronous and update should be reflected in `Container` smart contract's
// asynchronous and the update should be reflected in `Container` smart contract's
// storage after next block is issued in sidechain.
type SetExtendedACLResponse_Body struct {
state protoimpl.MessageState
@ -1582,9 +1582,9 @@ func (x *GetExtendedACLRequest_Body) GetContainerId() *grpc1.ContainerID {
return nil
}
// Get Extended ACL Response body can be empty if the requested container did
// not have Extended ACL Table attached or Extended ACL was not allowed at
// container creation.
// Get Extended ACL Response body can be empty if the requested container does
// not have Extended ACL Table attached or Extended ACL has not been allowed at
// the time of container creation.
type GetExtendedACLResponse_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -1657,8 +1657,8 @@ type AnnounceUsedSpaceRequest_Body struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// List of announcements. If nodes share several containers, then
// announcements transferred in a batch.
// List of announcements. If nodes share several containers,
// announcements are transferred in a batch.
Announcements []*AnnounceUsedSpaceRequest_Body_Announcement `protobuf:"bytes,1,rep,name=announcements,proto3" json:"announcements,omitempty"`
}
@ -1701,17 +1701,17 @@ func (x *AnnounceUsedSpaceRequest_Body) GetAnnouncements() []*AnnounceUsedSpaceR
return nil
}
// Announcement contains used space information about single container.
// Announcement contains used space information for a single container.
type AnnounceUsedSpaceRequest_Body_Announcement struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Epoch number for which container size estimation was produced.
// Epoch number for which the container size estimation was produced.
Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
// Identifier of the container.
ContainerId *grpc1.ContainerID `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
// Used space is a sum of object payload sizes of specified
// Used space is a sum of object payload sizes of a specified
// container, stored in the node. It must not include inhumed objects.
UsedSpace uint64 `protobuf:"varint,3,opt,name=used_space,json=usedSpace,proto3" json:"used_space,omitempty"`
}

View file

@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: container/grpc/service.proto
package container
@ -24,7 +20,7 @@ const _ = grpc.SupportPackageIsVersion7
type ContainerServiceClient interface {
// `Put` invokes `Container` smart contract's `Put` method and returns
// response immediately. After a new block is issued in sidechain, request is
// verified by Inner Ring nodes. After one more block in sidechain, container
// verified by Inner Ring nodes. After one more block in sidechain, the container
// is added into smart contract storage.
//
// Statuses:
@ -34,7 +30,7 @@ type ContainerServiceClient interface {
Put(ctx context.Context, in *PutRequest, opts ...grpc.CallOption) (*PutResponse, error)
// `Delete` invokes `Container` smart contract's `Delete` method and returns
// response immediately. After a new block is issued in sidechain, request is
// verified by Inner Ring nodes. After one more block in sidechain, container
// verified by Inner Ring nodes. After one more block in sidechain, the container
// is added into smart contract storage.
//
// Statuses:
@ -59,7 +55,7 @@ type ContainerServiceClient interface {
// - Common failures (SECTION_FAILURE_COMMON).
List(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListResponse, error)
// Invokes 'SetEACL' method of 'Container` smart contract and returns response
// immediately. After one more block in sidechain, Extended ACL changes are
// immediately. After one more block in sidechain, changes in an Extended ACL are
// added into smart contract storage.
//
// Statuses:
@ -77,7 +73,7 @@ type ContainerServiceClient interface {
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
// container not found.
GetExtendedACL(ctx context.Context, in *GetExtendedACLRequest, opts ...grpc.CallOption) (*GetExtendedACLResponse, error)
// Announce container used space values for P2P synchronization.
// Announces the space values used by the container for P2P synchronization.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -163,7 +159,7 @@ func (c *containerServiceClient) AnnounceUsedSpace(ctx context.Context, in *Anno
type ContainerServiceServer interface {
// `Put` invokes `Container` smart contract's `Put` method and returns
// response immediately. After a new block is issued in sidechain, request is
// verified by Inner Ring nodes. After one more block in sidechain, container
// verified by Inner Ring nodes. After one more block in sidechain, the container
// is added into smart contract storage.
//
// Statuses:
@ -173,7 +169,7 @@ type ContainerServiceServer interface {
Put(context.Context, *PutRequest) (*PutResponse, error)
// `Delete` invokes `Container` smart contract's `Delete` method and returns
// response immediately. After a new block is issued in sidechain, request is
// verified by Inner Ring nodes. After one more block in sidechain, container
// verified by Inner Ring nodes. After one more block in sidechain, the container
// is added into smart contract storage.
//
// Statuses:
@ -198,7 +194,7 @@ type ContainerServiceServer interface {
// - Common failures (SECTION_FAILURE_COMMON).
List(context.Context, *ListRequest) (*ListResponse, error)
// Invokes 'SetEACL' method of 'Container` smart contract and returns response
// immediately. After one more block in sidechain, Extended ACL changes are
// immediately. After one more block in sidechain, changes in an Extended ACL are
// added into smart contract storage.
//
// Statuses:
@ -216,7 +212,7 @@ type ContainerServiceServer interface {
// - **CONTAINER_NOT_FOUND** (3072, SECTION_CONTAINER): \
// container not found.
GetExtendedACL(context.Context, *GetExtendedACLRequest) (*GetExtendedACLResponse, error)
// Announce container used space values for P2P synchronization.
// Announces the space values used by the container for P2P synchronization.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \

View file

@ -24,22 +24,22 @@ const (
// Container is a structure that defines object placement behaviour. Objects can
// be stored only within containers. They define placement rule, attributes and
// access control information. ID of the container is a 32 byte long SHA256 hash
// access control information. An ID of a container is a 32 byte long SHA256 hash
// of stable-marshalled container message.
type Container struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Container format version. Effectively the version of API library used to
// create container.
// Container format version. Effectively, the version of API library used to
// create the container.
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Identifier of the container owner
OwnerId *grpc.OwnerID `protobuf:"bytes,2,opt,name=owner_id,json=ownerID,proto3" json:"owner_id,omitempty"`
// Nonce is a 16 byte UUIDv4, used to avoid collisions of `ContainerID`s
Nonce []byte `protobuf:"bytes,3,opt,name=nonce,proto3" json:"nonce,omitempty"`
// `BasicACL` contains access control rules for owner, system, others groups
// and permission bits for `BearerToken` and `Extended ACL`
// `BasicACL` contains access control rules for the owner, system and others groups,
// as well as permission bits for `BearerToken` and `Extended ACL`
BasicAcl uint32 `protobuf:"varint,4,opt,name=basic_acl,json=basicACL,proto3" json:"basic_acl,omitempty"`
// Attributes represent immutable container's meta data
Attributes []*Container_Attribute `protobuf:"bytes,5,rep,name=attributes,proto3" json:"attributes,omitempty"`
@ -122,8 +122,8 @@ func (x *Container) GetPlacementPolicy() *grpc1.PlacementPolicy {
}
// `Attribute` is a user-defined Key-Value metadata pair attached to the
// container. Container attributes are immutable. They are set at container
// creation and can never be added or updated.
// container. Container attributes are immutable. They are set at the moment of
// container creation and can never be added or updated.
//
// Key name must be a container-unique valid UTF-8 string. Value can't be
// empty. Containers with duplicated attribute names or attributes with empty
@ -132,14 +132,20 @@ func (x *Container) GetPlacementPolicy() *grpc1.PlacementPolicy {
// There are some "well-known" attributes affecting system behaviour:
//
// * __NEOFS__SUBNET \
// String ID of container's storage subnet. Container can be attached to
// only one subnet.
// String ID of a container's storage subnet. Any container can be attached to
// one subnet only.
// * __NEOFS__NAME \
// String of human-friendly container name registered as the domain in
// String of a human-friendly container name registered as a domain in
// NNS contract.
// * __NEOFS__ZONE \
// String of zone for `__NEOFS__NAME`. Used as TLD of domain name in NNS
// contract. If zone is not specified, use default zone: `container`.
// String of a zone for `__NEOFS__NAME`. Used as a TLD of a domain name in NNS
// contract. If no zone is specified, use default zone: `container`.
// * __NEOFS__DISABLE_HOMOMORPHIC_HASHING \
// Disables homomorphic hashing for the container if the value equals "true" string.
// Any other values are interpreted as missing attribute. Container could be
// accepted in a NeoFS network only if the global network hashing configuration
// value corresponds with that attribute's value. After container inclusion, network
// setting is ignored.
//
// And some well-known attributes used by applications only:
//

5
lock/grpc/types.pb.go generated
View file

@ -21,9 +21,10 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Lock objects protects a list of objects from being deleted. Lifetime of the
// Lock objects protects a list of objects from being deleted. The lifetime of a
// lock object is limited similar to regular objects in
// `__NEOFS__EXPIRATION_EPOCH` attribute.
// `__NEOFS__EXPIRATION_EPOCH` attribute. Lock object MUST have expiration epoch.
// It is impossible to delete a lock object via ObjectService.Delete RPC call.
type Lock struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View file

@ -22,7 +22,7 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Get NodeInfo structure from the particular node directly
// Get NodeInfo structure directly from a particular node
type LocalNodeInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -162,7 +162,7 @@ func (x *LocalNodeInfoResponse) GetVerifyHeader() *grpc.ResponseVerificationHead
return nil
}
// Get NetworkInfo structure with the network view from particular node.
// Get NetworkInfo structure with the network view from a particular node.
type NetworkInfoRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View file

@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: netmap/grpc/service.proto
package netmap
@ -22,11 +18,11 @@ const _ = grpc.SupportPackageIsVersion7
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type NetmapServiceClient interface {
// Get NodeInfo structure from the particular node directly. Node information
// can be taken from `Netmap` smart contract, but in some cases the one may
// want to get recent information directly, or to talk to the node not yet
// present in `Network Map` to find out what API version can be used for
// further communication. Can also be used to check if node is up and running.
// Get NodeInfo structure from the particular node directly.
// Node information can be taken from `Netmap` smart contract. In some cases, though,
// one may want to get recent information directly or to talk to the node not yet
// present in the `Network Map` to find out what API version can be used for
// further communication. This can be also used to check if a node is up and running.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS):
@ -72,11 +68,11 @@ func (c *netmapServiceClient) NetworkInfo(ctx context.Context, in *NetworkInfoRe
// All implementations should embed UnimplementedNetmapServiceServer
// for forward compatibility
type NetmapServiceServer interface {
// Get NodeInfo structure from the particular node directly. Node information
// can be taken from `Netmap` smart contract, but in some cases the one may
// want to get recent information directly, or to talk to the node not yet
// present in `Network Map` to find out what API version can be used for
// further communication. Can also be used to check if node is up and running.
// Get NodeInfo structure from the particular node directly.
// Node information can be taken from `Netmap` smart contract. In some cases, though,
// one may want to get recent information directly or to talk to the node not yet
// present in the `Network Map` to find out what API version can be used for
// further communication. This can be also used to check if a node is up and running.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS):

View file

@ -104,7 +104,7 @@ func (Operation) EnumDescriptor() ([]byte, []int) {
type Clause int32
const (
// No modifier defined. Will select nodes from bucket randomly.
// No modifier defined. Nodes will be selected from the bucket randomly
Clause_CLAUSE_UNSPECIFIED Clause = 0
// SAME will select only nodes having the same value of bucket attribute
Clause_SAME Clause = 1
@ -206,14 +206,14 @@ func (NodeInfo_State) EnumDescriptor() ([]byte, []int) {
return file_netmap_grpc_types_proto_rawDescGZIP(), []int{4, 0}
}
// Filter will return the subset of nodes from `NetworkMap` or another filter's
// results, that will satisfy filter's conditions.
// This filter will return the subset of nodes from `NetworkMap` or another filter's
// results that will satisfy filter's conditions.
type Filter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the filter or a reference to the named filter. '*' means
// Name of the filter or a reference to a named filter. '*' means
// application to the whole unfiltered NetworkMap. At top level it's used as a
// filter name. At lower levels it's considered to be a reference to another
// named filter
@ -309,7 +309,7 @@ type Selector struct {
Count uint32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
// Selector modifier showing how to form a bucket
Clause Clause `protobuf:"varint,3,opt,name=clause,proto3,enum=neo.fs.v2.netmap.Clause" json:"clause,omitempty"`
// Attribute bucket to select from
// Bucket attribute to select from
Attribute string `protobuf:"bytes,4,opt,name=attribute,proto3" json:"attribute,omitempty"`
// Filter reference to select from
Filter string `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
@ -383,7 +383,7 @@ func (x *Selector) GetFilter() string {
}
// Number of object replicas in a set of nodes from the defined selector. If no
// selector set the root bucket containing all possible nodes will be used by
// selector set, the root bucket containing all possible nodes will be used by
// default.
type Replica struct {
state protoimpl.MessageState
@ -805,7 +805,7 @@ func (x *NetworkInfo) GetNetworkConfig() *NetworkConfig {
// automatically from `UN-LOCODE` attribute.
//
// For detailed description of each well-known attribute please see the
// corresponding section in NeoFS Technical specification.
// corresponding section in NeoFS Technical Specification.
type NodeInfo_Attribute struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View file

@ -513,12 +513,12 @@ func (x *HeadRequest) GetVerifyHeader() *grpc.RequestVerificationHeader {
return nil
}
// Tuple of full object header and signature of `ObjectID`. \
// Tuple of a full object header and signature of an `ObjectID`. \
// Signed `ObjectID` is present to verify full header's authenticity through the
// following steps:
//
// 1. Calculate `SHA-256` of marshalled `Header` structure
// 2. Check if the resulting hash matched `ObjectID`
// 1. Calculate `SHA-256` of the marshalled `Header` structure
// 2. Check if the resulting hash matches `ObjectID`
// 3. Check if `ObjectID` signature in `signature` field is correct
type HeaderWithSignature struct {
state protoimpl.MessageState
@ -1898,13 +1898,13 @@ func (x *SearchRequest_Body) GetFilters() []*SearchRequest_Body_Filter {
return nil
}
// Filter structure checks if object header field or attribute content
// Filter structure checks if the object header field or the attribute content
// matches a value.
//
// If no filters set, search request will return all objects of the
// If no filters are set, search request will return all objects of the
// container, including Regular object, Tombstones and Storage Group
// objects. Most human users expect to get only object they can directly
// work with. In that case the `$Object:ROOT` filter should be used.
// work with. In that case, `$Object:ROOT` filter should be used.
//
// By default `key` field refers to the corresponding object's `Attribute`.
// Some Object's header fields can also be accessed by adding `$Object:`
@ -1937,10 +1937,10 @@ func (x *SearchRequest_Body) GetFilters() []*SearchRequest_Body_Filter {
// properties:
//
// * $Object:ROOT \
// Returns only `REGULAR` type objects that are not split or are the top
// Returns only `REGULAR` type objects that are not split or that are the top
// level root objects in a split hierarchy. This includes objects not
// present physically, like large objects split into smaller objects
// without separate top-level root object. Other type objects like
// without a separate top-level root object. Objects of other types like
// StorageGroups and Tombstones will not be shown. This filter may be
// useful for listing objects like `ls` command of some virtual file
// system. This filter is activated if the `key` exists, disregarding the

View file

@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: object/grpc/service.proto
package object
@ -23,11 +19,22 @@ const _ = grpc.SupportPackageIsVersion7
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ObjectServiceClient interface {
// Receive full object structure, including Headers and payload. Response uses
// gRPC stream. First response message carries object with requested address.
// gRPC stream. First response message carries the object with the requested address.
// Chunk messages are parts of the object's payload if it is needed. All
// messages, except the first one, carry payload chunks. Requested object can
// messages, except the first one, carry payload chunks. The requested object can
// be restored by concatenation of object message payload and all chunks
// keeping receiving order.
// keeping the receiving order.
//
// Extended headers can change `Get` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
// the latest one otherwise) of Network Map to find an object until the depth
// limit is reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -49,7 +56,14 @@ type ObjectServiceClient interface {
// SHOULD be set. Session token SHOULD be obtained before `PUT` operation (see
// session package). Chunk messages are considered by server as a part of an
// object payload. All messages, except first one, SHOULD be payload chunks.
// Chunk messages SHOULD be sent in direct order of fragmentation.
// Chunk messages SHOULD be sent in the direct order of fragmentation.
//
// Extended headers can change `Put` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -74,6 +88,13 @@ type ObjectServiceClient interface {
// Delete the object from a container. There is no immediate removal
// guarantee. Object will be marked for removal and deleted eventually.
//
// Extended headers can change `Delete` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// object has been successfully marked to be removed from the container;
@ -89,7 +110,14 @@ type ObjectServiceClient interface {
Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
// Returns the object Headers without data payload. By default full header is
// returned. If `main_only` request field is set, the short header with only
// the very minimal information would be returned instead.
// the very minimal information will be returned instead.
//
// Extended headers can change `Head` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -110,6 +138,13 @@ type ObjectServiceClient interface {
// Header's filed values. Please see the corresponding NeoFS Technical
// Specification section for more details.
//
// Extended headers can change `Search` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// objects have been successfully selected;
@ -123,9 +158,19 @@ type ObjectServiceClient interface {
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (ObjectService_SearchClient, error)
// Get byte range of data payload. Range is set as an (offset, length) tuple.
// Like in `Get` method, the response uses gRPC stream. Requested range can be
// restored by concatenation of all received payload chunks keeping receiving
// restored by concatenation of all received payload chunks keeping the receiving
// order.
//
// Extended headers can change `GetRange` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of Network Map to find an object until the depth
// limit is reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// data range of the object payload has been successfully read;
@ -140,11 +185,23 @@ type ObjectServiceClient interface {
// provided session token has expired;
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
// the requested object has been marked as deleted.
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
// the requested range is out of bounds.
GetRange(ctx context.Context, in *GetRangeRequest, opts ...grpc.CallOption) (ObjectService_GetRangeClient, error)
// Returns homomorphic or regular hash of object's payload range after
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
// length) tuples. Hashes order in response corresponds to ranges order in
// request. Note that hash is calculated for XORed data.
// length) tuples. Hashes order in response corresponds to the ranges order in
// the request. Note that hash is calculated for XORed data.
//
// Extended headers can change `GetRangeHash` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of Network Map to find an object until the depth
// limit is reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -156,6 +213,8 @@ type ObjectServiceClient interface {
// access to operation RANGEHASH of the object is denied;
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
// object not found in container;
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
// the requested range is out of bounds.
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
// provided session token has expired.
GetRangeHash(ctx context.Context, in *GetRangeHashRequest, opts ...grpc.CallOption) (*GetRangeHashResponse, error)
@ -331,11 +390,22 @@ func (c *objectServiceClient) GetRangeHash(ctx context.Context, in *GetRangeHash
// for forward compatibility
type ObjectServiceServer interface {
// Receive full object structure, including Headers and payload. Response uses
// gRPC stream. First response message carries object with requested address.
// gRPC stream. First response message carries the object with the requested address.
// Chunk messages are parts of the object's payload if it is needed. All
// messages, except the first one, carry payload chunks. Requested object can
// messages, except the first one, carry payload chunks. The requested object can
// be restored by concatenation of object message payload and all chunks
// keeping receiving order.
// keeping the receiving order.
//
// Extended headers can change `Get` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions (starting from `__NEOFS__NETMAP_EPOCH` if specified or
// the latest one otherwise) of Network Map to find an object until the depth
// limit is reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -357,7 +427,14 @@ type ObjectServiceServer interface {
// SHOULD be set. Session token SHOULD be obtained before `PUT` operation (see
// session package). Chunk messages are considered by server as a part of an
// object payload. All messages, except first one, SHOULD be payload chunks.
// Chunk messages SHOULD be sent in direct order of fragmentation.
// Chunk messages SHOULD be sent in the direct order of fragmentation.
//
// Extended headers can change `Put` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -382,6 +459,13 @@ type ObjectServiceServer interface {
// Delete the object from a container. There is no immediate removal
// guarantee. Object will be marked for removal and deleted eventually.
//
// Extended headers can change `Delete` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// object has been successfully marked to be removed from the container;
@ -397,7 +481,14 @@ type ObjectServiceServer interface {
Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
// Returns the object Headers without data payload. By default full header is
// returned. If `main_only` request field is set, the short header with only
// the very minimal information would be returned instead.
// the very minimal information will be returned instead.
//
// Extended headers can change `Head` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -418,6 +509,13 @@ type ObjectServiceServer interface {
// Header's filed values. Please see the corresponding NeoFS Technical
// Specification section for more details.
//
// Extended headers can change `Search` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// objects have been successfully selected;
@ -431,9 +529,19 @@ type ObjectServiceServer interface {
Search(*SearchRequest, ObjectService_SearchServer) error
// Get byte range of data payload. Range is set as an (offset, length) tuple.
// Like in `Get` method, the response uses gRPC stream. Requested range can be
// restored by concatenation of all received payload chunks keeping receiving
// restored by concatenation of all received payload chunks keeping the receiving
// order.
//
// Extended headers can change `GetRange` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of Network Map to find an object until the depth
// limit is reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// data range of the object payload has been successfully read;
@ -448,11 +556,23 @@ type ObjectServiceServer interface {
// provided session token has expired;
// - **OBJECT_ALREADY_REMOVED** (2052, SECTION_OBJECT): \
// the requested object has been marked as deleted.
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
// the requested range is out of bounds.
GetRange(*GetRangeRequest, ObjectService_GetRangeServer) error
// Returns homomorphic or regular hash of object's payload range after
// applying XOR operation with the provided `salt`. Ranges are set of (offset,
// length) tuples. Hashes order in response corresponds to ranges order in
// request. Note that hash is calculated for XORed data.
// length) tuples. Hashes order in response corresponds to the ranges order in
// the request. Note that hash is calculated for XORed data.
//
// Extended headers can change `GetRangeHash` behaviour:
// * __NEOFS__NETMAP_EPOCH \
// Will use the requsted version of Network Map for object placement
// calculation.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// Will try older versions of Network Map to find an object until the depth
// limit is reached.
//
// Please refer to detailed `XHeader` description.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
@ -464,6 +584,8 @@ type ObjectServiceServer interface {
// access to operation RANGEHASH of the object is denied;
// - **OBJECT_NOT_FOUND** (2049, SECTION_OBJECT): \
// object not found in container;
// - **OUT_OF_RANGE** (2053, SECTION_OBJECT): \
// the requested range is out of bounds.
// - **TOKEN_EXPIRED** (4097, SECTION_SESSION): \
// provided session token has expired.
GetRangeHash(context.Context, *GetRangeHashRequest) (*GetRangeHashResponse, error)

View file

@ -23,7 +23,7 @@ const (
)
// Type of the object payload content. Only `REGULAR` type objects can be split,
// hence `TOMBSTONE`, `STORAGE_GROUP` and `LOCK` payload is limited by maximal
// hence `TOMBSTONE`, `STORAGE_GROUP` and `LOCK` payload is limited by the maximum
// object size.
//
// String presentation of object type is the same as definition:
@ -154,7 +154,7 @@ type ShortHeader struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Object format version. Effectively the version of API library used to
// 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
@ -259,7 +259,7 @@ type Header struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Object format version. Effectively the version of API library used to
// 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
@ -396,8 +396,8 @@ func (x *Header) GetSplit() *Header_Split {
}
// Object structure. Object is immutable and content-addressed. It means
// `ObjectID` will change if header or payload changes. It's calculated as a
// hash of header field, which contains hash of object's payload.
// `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.
@ -476,10 +476,10 @@ func (x *Object) GetPayload() []byte {
return nil
}
// Meta information of split hierarchy for object assembly. With last part
// one can traverse linked list of split hierarchy back to first part and
// assemble original object. With linking object one can assembly object
// straight away from the object parts.
// 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
@ -487,11 +487,11 @@ type SplitInfo struct {
// 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"`
// Identifier of the last object in split hierarchy parts. It contains
// split header with original object header.
// 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"`
// Identifier of linking object for split hierarchy parts. It contains
// split header with original object header and sorted list of
// 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"`
}
@ -549,10 +549,10 @@ func (x *SplitInfo) GetLink() *grpc.ObjectID {
return nil
}
// `Attribute` is a user-defined Key-Value metadata pair attached to the
// `Attribute` is a user-defined Key-Value metadata pair attached to an
// object.
//
// Key name must be a object-unique valid UTF-8 string. Value can't be empty.
// 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.
//
@ -583,7 +583,7 @@ func (x *SplitInfo) GetLink() *grpc.ObjectID {
// MIME Content Type of object's payload
//
// For detailed description of each well-known attribute please see the
// corresponding section in NeoFS Technical specification.
// corresponding section in NeoFS Technical Specification.
type Header_Attribute struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

24
refs/grpc/types.pb.go generated
View file

@ -124,7 +124,7 @@ func (ChecksumType) EnumDescriptor() ([]byte, []int) {
// Objects in NeoFS are addressed by their ContainerID and ObjectID.
//
// String presentation of `Address` is the concatenation of string encoded
// String presentation of `Address` is a concatenation of string encoded
// `ContainerID` and `ObjectID` delimited by '/' character.
type Address struct {
state protoimpl.MessageState
@ -184,17 +184,17 @@ func (x *Address) GetObjectId() *ObjectID {
}
// NeoFS Object unique identifier. Objects are immutable and content-addressed.
// It means `ObjectID` will change if `header` or `payload` changes.
// It means `ObjectID` will change if the `header` or the `payload` changes.
//
// `ObjectID` is a 32 byte long
// [SHA256](https://csrc.nist.gov/publications/detail/fips/180/4/final) hash of
// object's `header` field, which, in it's turn, contains hash of object's
// the object's `header` field, which, in it's turn, contains the hash of the object's
// payload.
//
// String presentation is
// String presentation is a
// [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string.
//
// JSON value will be the data encoded as a string using standard base64
// JSON value will be data encoded as a string using standard base64
// encoding with paddings. Either
// [standard](https://tools.ietf.org/html/rfc4648#section-4) or
// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding
@ -254,10 +254,10 @@ func (x *ObjectID) GetValue() []byte {
// [SHA256](https://csrc.nist.gov/publications/detail/fips/180/4/final) hash of
// stable-marshalled container message.
//
// String presentation is
// String presentation is a
// [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string.
//
// JSON value will be the data encoded as a string using standard base64
// JSON value will be data encoded as a string using standard base64
// encoding with paddings. Either
// [standard](https://tools.ietf.org/html/rfc4648#section-4) or
// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding
@ -317,10 +317,10 @@ func (x *ContainerID) GetValue() []byte {
// `OwnerID` is a 25 bytes sequence starting with Neo version prefix byte
// followed by 20 bytes of ScrptHash and 4 bytes of checksum.
//
// String presentation is [Base58
// String presentation is a [Base58
// Check](https://en.bitcoin.it/wiki/Base58Check_encoding) Encoded string.
//
// JSON value will be the data encoded as a string using standard base64
// JSON value will be data encoded as a string using standard base64
// encoding with paddings. Either
// [standard](https://tools.ietf.org/html/rfc4648#section-4) or
// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding
@ -377,7 +377,7 @@ func (x *OwnerID) GetValue() []byte {
//
// String representation of a value is base-10 integer.
//
// JSON representation is an object containing single `value` number field.
// JSON representation is an object containing a single `value` number field.
type SubnetID struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -429,7 +429,7 @@ func (x *SubnetID) GetValue() uint32 {
// API version used by a node.
//
// String presentation is a Semantic Versioning 2.0.0 compatible version string
// with 'v' prefix. I.e. `vX.Y`, where `X` - major number, `Y` - minor number.
// with 'v' prefix. i.e. `vX.Y`, where `X` is the major number, `Y` is the minor number.
type Version struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -613,7 +613,7 @@ func (x *SignatureRFC6979) GetSign() []byte {
}
// Checksum message.
// Depending on checksum algorithm type the string presentation may vary:
// Depending on checksum algorithm type, the string presentation may vary:
//
// * TZ \
// Hex encoded string without `0x` prefix

View file

@ -91,7 +91,7 @@ func (x *AnnounceLocalTrustRequest) GetVerifyHeader() *grpc.RequestVerificationH
return nil
}
// Node's local trust information announce response.
// Node's local trust information announcement response.
type AnnounceLocalTrustResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -231,7 +231,7 @@ func (x *AnnounceIntermediateResultRequest) GetVerifyHeader() *grpc.RequestVerif
return nil
}
// Intermediate global trust information announce response.
// Intermediate global trust information announcement response.
type AnnounceIntermediateResultResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -311,7 +311,7 @@ type AnnounceLocalTrustRequest_Body struct {
Epoch uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
// List of normalized local trust values to other NeoFS nodes. The value
// is calculated according to EigenTrust++ algorithm and must be a
// floating point number in the [0;1] range.
// floating point number in [0;1] range.
Trusts []*Trust `protobuf:"bytes,2,rep,name=trusts,proto3" json:"trusts,omitempty"`
}
@ -361,9 +361,9 @@ func (x *AnnounceLocalTrustRequest_Body) GetTrusts() []*Trust {
return nil
}
// Response to the node's local trust information announce has an empty body
// Response to the node's local trust information announcement has an empty body
// because the trust exchange operation is asynchronous. If Trust information
// will not pass sanity checks it is silently ignored.
// does not pass sanity checks, it is silently ignored.
type AnnounceLocalTrustResponse_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -469,9 +469,9 @@ func (x *AnnounceIntermediateResultRequest_Body) GetTrust() *PeerToPeerTrust {
return nil
}
// Response to the node's intermediate global trust information announce has
// Response to the node's intermediate global trust information announcement has
// an empty body because the trust exchange operation is asynchronous. If
// Trust information will not pass sanity checks it is silently ignored.
// Trust information does not pass sanity checks, it is silently ignored.
type AnnounceIntermediateResultResponse_Body struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache

View file

@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: reputation/grpc/service.proto
package reputation
@ -29,7 +25,7 @@ type ReputationServiceClient interface {
// local trust has been successfully announced;
// - Common failures (SECTION_FAILURE_COMMON).
AnnounceLocalTrust(ctx context.Context, in *AnnounceLocalTrustRequest, opts ...grpc.CallOption) (*AnnounceLocalTrustResponse, error)
// Announces the intermediate result of the iterative algorithm for
// Announce the intermediate result of the iterative algorithm for
// calculating the global reputation of the node in NeoFS network.
//
// Statuses:
@ -76,7 +72,7 @@ type ReputationServiceServer interface {
// local trust has been successfully announced;
// - Common failures (SECTION_FAILURE_COMMON).
AnnounceLocalTrust(context.Context, *AnnounceLocalTrustRequest) (*AnnounceLocalTrustResponse, error)
// Announces the intermediate result of the iterative algorithm for
// Announce the intermediate result of the iterative algorithm for
// calculating the global reputation of the node in NeoFS network.
//
// Statuses:

View file

@ -21,13 +21,13 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// NeoFS unique peer identifier is 33 byte long compressed public key of the
// NeoFS unique peer identifier is a 33 byte long compressed public key of the
// node, the same as the one stored in the network map.
//
// String presentation is
// String presentation is a
// [base58](https://tools.ietf.org/html/draft-msporny-base58-02) encoded string.
//
// JSON value will be the data encoded as a string using standard base64
// JSON value will be data encoded as a string using standard base64
// encoding with paddings. Either
// [standard](https://tools.ietf.org/html/rfc4648#section-4) or
// [URL-safe](https://tools.ietf.org/html/rfc4648#section-5) base64 encoding
@ -202,7 +202,7 @@ type GlobalTrust struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Message format version. Effectively the version of API library used to create
// Message format version. Effectively, the version of API library used to create
// the message.
Version *grpc.Version `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
// Message body

View file

@ -27,7 +27,7 @@ type CreateRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Body of create session token request message.
// Body of a create session token request message.
Body *CreateRequest_Body `protobuf:"bytes,1,opt,name=body,proto3" json:"body,omitempty"`
// Carries request meta information. Header data is used only to regulate
// message transport and does not affect request execution.

View file

@ -1,8 +1,4 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.19.4
// source: session/grpc/service.proto
package session
@ -22,7 +18,7 @@ const _ = grpc.SupportPackageIsVersion7
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type SessionServiceClient interface {
// Opens a new session between two peers.
// Open a new session between two peers.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS):
@ -52,7 +48,7 @@ func (c *sessionServiceClient) Create(ctx context.Context, in *CreateRequest, op
// All implementations should embed UnimplementedSessionServiceServer
// for forward compatibility
type SessionServiceServer interface {
// Opens a new session between two peers.
// Open a new session between two peers.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS):

View file

@ -340,10 +340,10 @@ func (x *SessionToken) GetSignature() *grpc.Signature {
return nil
}
// Extended headers for Request/Response. May contain any user-defined headers
// Extended headers for Request/Response. They may contain any user-defined headers
// to be interpreted on application level.
//
// Key name must be unique valid UTF-8 string. Value can't be empty. Requests or
// 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.
//
@ -356,9 +356,9 @@ func (x *SessionToken) GetSignature() *grpc.Signature {
// current epoch only will be used.
// * __NEOFS__NETMAP_LOOKUP_DEPTH \
// If object can't be found using current epoch's netmap, this header limits
// how many past epochs back the node can lookup. The `value` is string
// encoded `uint64` in decimal presentation. If set to '0' or not set, the
// current epoch only will be used.
// 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
@ -624,13 +624,13 @@ func (x *ResponseMetaHeader) GetStatus() *grpc2.Status {
return nil
}
// Verification info for request signed by all intermediate nodes.
// 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 request initiator.
// 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"`
@ -700,13 +700,13 @@ func (x *RequestVerificationHeader) GetOrigin() *RequestVerificationHeader {
return nil
}
// Verification info for response signed by all intermediate nodes
// 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 answering node.
// 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"`

View file

@ -198,6 +198,8 @@ const (
Object_LOCK_NON_REGULAR_OBJECT Object = 3
// [**2052**] Object has been marked deleted.
Object_OBJECT_ALREADY_REMOVED Object = 4
// [**2053**] Invalid range has been requested for an object.
Object_OUT_OF_RANGE Object = 5
)
// Enum value maps for Object.
@ -208,6 +210,7 @@ var (
2: "LOCKED",
3: "LOCK_NON_REGULAR_OBJECT",
4: "OBJECT_ALREADY_REMOVED",
5: "OUT_OF_RANGE",
}
Object_value = map[string]int32{
"ACCESS_DENIED": 0,
@ -215,6 +218,7 @@ var (
"LOCKED": 2,
"LOCK_NON_REGULAR_OBJECT": 3,
"OBJECT_ALREADY_REMOVED": 4,
"OUT_OF_RANGE": 5,
}
)
@ -357,12 +361,12 @@ func (Session) EnumDescriptor() ([]byte, []int) {
//
// All outcomes are divided into successful and failed, which corresponds
// to the success or failure of the operation. The definition of success
// follows from the semantics of RPC and the description of its purpose.
// The server must not attach code that is the opposite of outcome type.
// follows the semantics of RPC and the description of its purpose.
// The server must not attach code that is the opposite of the outcome type.
//
// See the set of return codes in the description for calls.
//
// Each status can carry developer-facing error message. It should be human
// Each status can carry a developer-facing error message. It should be a human
// readable text in English. The server should not transmit (and the client
// should not expect) useful information in the message. Field `details`
// should make the return more detailed.
@ -523,26 +527,27 @@ var file_status_grpc_types_proto_rawDesc = []byte{
0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x0c, 0x0a, 0x08,
0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x52,
0x4f, 0x4e, 0x47, 0x5f, 0x4d, 0x41, 0x47, 0x49, 0x43, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52,
0x10, 0x01, 0x2a, 0x76, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x11, 0x0a, 0x0d,
0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f,
0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10,
0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, 0x52, 0x45,
0x47, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x1a,
0x0a, 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59,
0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x24, 0x0a, 0x09, 0x43, 0x6f,
0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x54, 0x41,
0x49, 0x4e, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x00,
0x2a, 0x31, 0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x0f, 0x54,
0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x00,
0x12, 0x11, 0x0a, 0x0d, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45,
0x44, 0x10, 0x01, 0x42, 0x56, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x6e, 0x73, 0x70, 0x63, 0x63, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x6e, 0x65, 0x6f, 0x66,
0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0xaa, 0x02,
0x1a, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
0x10, 0x01, 0x2a, 0x88, 0x01, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x11, 0x0a,
0x0d, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x00,
0x12, 0x14, 0x0a, 0x10, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46,
0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44,
0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4e, 0x4f, 0x4e, 0x5f, 0x52,
0x45, 0x47, 0x55, 0x4c, 0x41, 0x52, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12,
0x1a, 0x0a, 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44,
0x59, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x4f,
0x55, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x05, 0x2a, 0x24, 0x0a,
0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f,
0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e,
0x44, 0x10, 0x00, 0x2a, 0x31, 0x0a, 0x07, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13,
0x0a, 0x0f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e,
0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x45, 0x58, 0x50,
0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x42, 0x56, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x70, 0x63, 0x63, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x6e,
0x65, 0x6f, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x75,
0x73, 0xaa, 0x02, 0x1a, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72,
0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View file

@ -22,9 +22,15 @@ const (
)
// StorageGroup keeps verification information for Data Audit sessions. Objects
// that require payed storage guaranties are gathered in `StorageGroups` with
// additional information used for proof of storage. `StorageGroup` only
// that require paid storage guarantees are gathered in `StorageGroups` with
// additional information used for the proof of storage. `StorageGroup` only
// contains objects from the same container.
//
// Being an object payload, StorageGroup may have expiration Epoch set with
// `__NEOFS__EXPIRATION_EPOCH` well-known attribute. When expired, StorageGroup
// will be ignored by InnerRing nodes during Data Audit cycles and will be
// deleted by Storage Nodes.
//
type StorageGroup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -36,9 +42,11 @@ type StorageGroup struct {
// group members. The order of concatenation is the same as the order of the
// members in the `members` field.
ValidationHash *grpc.Checksum `protobuf:"bytes,2,opt,name=validation_hash,json=validationHash,proto3" json:"validation_hash,omitempty"`
// Last NeoFS epoch number of the storage group lifetime
// DEPRECATED. Last NeoFS epoch number of the storage group lifetime
//
// Deprecated: Do not use.
ExpirationEpoch uint64 `protobuf:"varint,3,opt,name=expiration_epoch,json=expirationEpoch,proto3" json:"expiration_epoch,omitempty"`
// Strictly ordered list of storage group member objects
// Strictly ordered list of storage group member objects. Members MUST be unique
Members []*grpc.ObjectID `protobuf:"bytes,4,rep,name=members,proto3" json:"members,omitempty"`
}
@ -88,6 +96,7 @@ func (x *StorageGroup) GetValidationHash() *grpc.Checksum {
return nil
}
// Deprecated: Do not use.
func (x *StorageGroup) GetExpirationEpoch() uint64 {
if x != nil {
return x.ExpirationEpoch
@ -109,7 +118,7 @@ var file_storagegroup_grpc_types_proto_rawDesc = []byte{
0x72, 0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x16, 0x6e, 0x65, 0x6f, 0x2e, 0x66, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
0x67, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x15, 0x72, 0x65, 0x66, 0x73, 0x2f, 0x67, 0x72,
0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2,
0x70, 0x63, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6,
0x01, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
0x30, 0x0a, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61,
0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x76,
@ -118,20 +127,20 @@ var file_storagegroup_grpc_types_proto_rawDesc = []byte{
0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 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, 0x0e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x48, 0x61, 0x73, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f,
0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70, 0x6f, 0x63, 0x68, 0x12,
0x32, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04, 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, 0x6d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x73, 0x42, 0x68, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
0x6d, 0x2f, 0x6e, 0x73, 0x70, 0x63, 0x63, 0x2d, 0x64, 0x65, 0x76, 0x2f, 0x6e, 0x65, 0x6f, 0x66,
0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x6f, 0x72,
0x61, 0x67, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x3b, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0xaa, 0x02, 0x20, 0x4e, 0x65, 0x6f,
0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x41, 0x50, 0x49,
0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
0x48, 0x61, 0x73, 0x68, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02,
0x18, 0x01, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x70,
0x6f, 0x63, 0x68, 0x12, 0x32, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x04,
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,
0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x42, 0x68, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75,
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6e, 0x73, 0x70, 0x63, 0x63, 0x2d, 0x64, 0x65, 0x76, 0x2f,
0x6e, 0x65, 0x6f, 0x66, 0x73, 0x2d, 0x61, 0x70, 0x69, 0x2d, 0x67, 0x6f, 0x2f, 0x76, 0x32, 0x2f,
0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x67, 0x72, 0x70,
0x63, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x67, 0x72, 0x6f, 0x75, 0x70, 0xaa, 0x02,
0x20, 0x4e, 0x65, 0x6f, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x2e, 0x41, 0x50, 0x49, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View file

@ -21,20 +21,20 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Tombstone keeps record of deleted objects for few epochs until they are
// Tombstone keeps record of deleted objects for a few epochs until they are
// purged from the NeoFS network.
type Tombstone struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Last NeoFS epoch number of the tombstone lifetime. It's set by tombstone
// creator depending on current NeoFS network settings. Tombstone object
// Last NeoFS epoch number of the tombstone lifetime. It's set by the tombstone
// creator depending on the current NeoFS network settings. A tombstone object
// must have the same expiration epoch value in `__NEOFS__EXPIRATION_EPOCH`
// attribute. Otherwise tombstone will be rejected by storage node.
// attribute. Otherwise, the tombstone will be rejected by a storage node.
ExpirationEpoch uint64 `protobuf:"varint,1,opt,name=expiration_epoch,json=expirationEpoch,proto3" json:"expiration_epoch,omitempty"`
// 16 byte UUID used to identify the split object hierarchy parts. Must be
// unique inside container. All objects participating in the split must
// unique inside a container. All objects participating in the split must
// have the same `split_id` value.
SplitId []byte `protobuf:"bytes,2,opt,name=split_id,json=splitID,proto3" json:"split_id,omitempty"`
// List of objects to be deleted.