forked from TrueCloudLab/frostfs-api
8bf98ec983
To avoid ambiguity, let's use the common well-known attribute to control both Object and Storage Group expirations. Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
3.6 KiB
3.6 KiB
Protocol Documentation
Table of Contents
storagegroup/types.proto
Message StorageGroup
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
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.
Field | Type | Label | Description |
---|---|---|---|
validation_data_size | uint64 | Total size of the payloads of objects in the storage group | |
validation_hash | neo.fs.v2.refs.Checksum | Homomorphic hash from the concatenation of the payloads of the storage group members. The order of concatenation is the same as the order of the members in the members field. |
|
expiration_epoch | uint64 | DEPRECATED. Last NeoFS epoch number of the storage group lifetime | |
members | neo.fs.v2.refs.ObjectID | repeated | Strictly ordered list of storage group member objects |
Scalar Value Types
.proto Type | Notes | C++ Type | Java Type | Python Type |
---|---|---|---|---|
double | double | double | float | |
float | float | float | float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
uint32 | Uses variable-length encoding. | uint32 | int | int/long |
uint64 | Uses variable-length encoding. | uint64 | long | int/long |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
sfixed32 | Always four bytes. | int32 | int | int |
sfixed64 | Always eight bytes. | int64 | long | int/long |
bool | bool | boolean | boolean | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |