From f9a91e5f33aeed00233de1f74dbeaa3d92ec78cb Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Wed, 15 Jun 2022 20:30:22 +0300 Subject: [PATCH] [#404] *: Regenerate code after language fixes Signed-off-by: Pavel Karpy --- accounting/grpc/service.pb.go | 4 +- accounting/grpc/service_grpc.pb.go | 4 - accounting/grpc/types.pb.go | 2 +- acl/grpc/types.pb.go | 30 +++--- audit/grpc/types.pb.go | 8 +- container/grpc/service.pb.go | 30 +++--- container/grpc/service_grpc.pb.go | 20 ++-- container/grpc/types.pb.go | 30 +++--- lock/grpc/types.pb.go | 5 +- netmap/grpc/service.pb.go | 4 +- netmap/grpc/service_grpc.pb.go | 24 ++--- netmap/grpc/types.pb.go | 14 +-- object/grpc/service.pb.go | 16 +-- object/grpc/service_grpc.pb.go | 162 +++++++++++++++++++++++++---- object/grpc/types.pb.go | 32 +++--- refs/grpc/types.pb.go | 24 ++--- reputation/grpc/service.pb.go | 14 +-- reputation/grpc/service_grpc.pb.go | 8 +- reputation/grpc/types.pb.go | 8 +- session/grpc/service.pb.go | 2 +- session/grpc/service_grpc.pb.go | 8 +- session/grpc/types.pb.go | 18 ++-- status/grpc/types.pb.go | 51 +++++---- storagegroup/grpc/types.pb.go | 47 +++++---- tombstone/grpc/types.pb.go | 10 +- 25 files changed, 350 insertions(+), 225 deletions(-) diff --git a/accounting/grpc/service.pb.go b/accounting/grpc/service.pb.go index dbb27b1..357547e 100644 --- a/accounting/grpc/service.pb.go +++ b/accounting/grpc/service.pb.go @@ -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 diff --git a/accounting/grpc/service_grpc.pb.go b/accounting/grpc/service_grpc.pb.go index 8ed1956..7139614 100644 --- a/accounting/grpc/service_grpc.pb.go +++ b/accounting/grpc/service_grpc.pb.go @@ -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 diff --git a/accounting/grpc/types.pb.go b/accounting/grpc/types.pb.go index a36188b..016bdc2 100644 --- a/accounting/grpc/types.pb.go +++ b/accounting/grpc/types.pb.go @@ -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. diff --git a/acl/grpc/types.pb.go b/acl/grpc/types.pb.go index e71a893..cf8114e 100644 --- a/acl/grpc/types.pb.go +++ b/acl/grpc/types.pb.go @@ -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 diff --git a/audit/grpc/types.pb.go b/audit/grpc/types.pb.go index 64d3206..e5b3773 100644 --- a/audit/grpc/types.pb.go +++ b/audit/grpc/types.pb.go @@ -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 diff --git a/container/grpc/service.pb.go b/container/grpc/service.pb.go index dd91394..390261e 100644 --- a/container/grpc/service.pb.go +++ b/container/grpc/service.pb.go @@ -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"` } diff --git a/container/grpc/service_grpc.pb.go b/container/grpc/service_grpc.pb.go index cf9c435..ccb2a2b 100644 --- a/container/grpc/service_grpc.pb.go +++ b/container/grpc/service_grpc.pb.go @@ -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): \ diff --git a/container/grpc/types.pb.go b/container/grpc/types.pb.go index 3e2ed0d..269cfb4 100644 --- a/container/grpc/types.pb.go +++ b/container/grpc/types.pb.go @@ -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: // diff --git a/lock/grpc/types.pb.go b/lock/grpc/types.pb.go index 046249d..0a560ec 100644 --- a/lock/grpc/types.pb.go +++ b/lock/grpc/types.pb.go @@ -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 diff --git a/netmap/grpc/service.pb.go b/netmap/grpc/service.pb.go index 670afc7..93b19ba 100644 --- a/netmap/grpc/service.pb.go +++ b/netmap/grpc/service.pb.go @@ -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 diff --git a/netmap/grpc/service_grpc.pb.go b/netmap/grpc/service_grpc.pb.go index e8e5be4..90b598c 100644 --- a/netmap/grpc/service_grpc.pb.go +++ b/netmap/grpc/service_grpc.pb.go @@ -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): diff --git a/netmap/grpc/types.pb.go b/netmap/grpc/types.pb.go index 4f7b976..53c601d 100644 --- a/netmap/grpc/types.pb.go +++ b/netmap/grpc/types.pb.go @@ -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 diff --git a/object/grpc/service.pb.go b/object/grpc/service.pb.go index f75b580..b282895 100644 --- a/object/grpc/service.pb.go +++ b/object/grpc/service.pb.go @@ -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 diff --git a/object/grpc/service_grpc.pb.go b/object/grpc/service_grpc.pb.go index 376d95d..ba4b958 100644 --- a/object/grpc/service_grpc.pb.go +++ b/object/grpc/service_grpc.pb.go @@ -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) diff --git a/object/grpc/types.pb.go b/object/grpc/types.pb.go index 6263a06..83a37ba 100644 --- a/object/grpc/types.pb.go +++ b/object/grpc/types.pb.go @@ -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 diff --git a/refs/grpc/types.pb.go b/refs/grpc/types.pb.go index 96f6285..4c19bab 100644 --- a/refs/grpc/types.pb.go +++ b/refs/grpc/types.pb.go @@ -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 diff --git a/reputation/grpc/service.pb.go b/reputation/grpc/service.pb.go index 865de18..719ad5c 100644 --- a/reputation/grpc/service.pb.go +++ b/reputation/grpc/service.pb.go @@ -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 diff --git a/reputation/grpc/service_grpc.pb.go b/reputation/grpc/service_grpc.pb.go index 1bd9b79..bf93cb9 100644 --- a/reputation/grpc/service_grpc.pb.go +++ b/reputation/grpc/service_grpc.pb.go @@ -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: diff --git a/reputation/grpc/types.pb.go b/reputation/grpc/types.pb.go index b27aa42..2c6253f 100644 --- a/reputation/grpc/types.pb.go +++ b/reputation/grpc/types.pb.go @@ -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 diff --git a/session/grpc/service.pb.go b/session/grpc/service.pb.go index 33510ad..b8a93cf 100644 --- a/session/grpc/service.pb.go +++ b/session/grpc/service.pb.go @@ -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. diff --git a/session/grpc/service_grpc.pb.go b/session/grpc/service_grpc.pb.go index 787a564..d2f6894 100644 --- a/session/grpc/service_grpc.pb.go +++ b/session/grpc/service_grpc.pb.go @@ -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): diff --git a/session/grpc/types.pb.go b/session/grpc/types.pb.go index eacccfa..0d76bdf 100644 --- a/session/grpc/types.pb.go +++ b/session/grpc/types.pb.go @@ -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"` diff --git a/status/grpc/types.pb.go b/status/grpc/types.pb.go index 168e183..e05fafd 100644 --- a/status/grpc/types.pb.go +++ b/status/grpc/types.pb.go @@ -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 ( diff --git a/storagegroup/grpc/types.pb.go b/storagegroup/grpc/types.pb.go index e0fd05c..de7570a 100644 --- a/storagegroup/grpc/types.pb.go +++ b/storagegroup/grpc/types.pb.go @@ -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 ( diff --git a/tombstone/grpc/types.pb.go b/tombstone/grpc/types.pb.go index 421b284..747532b 100644 --- a/tombstone/grpc/types.pb.go +++ b/tombstone/grpc/types.pb.go @@ -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.