frostfs-api/proto-docs/storagegroup.md
Denis Kirillov 3adb55c38a [#12] Add __FROSTFS__ system prefix
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-07 15:40:40 +03:00

3.6 KiB

Protocol Documentation

Table of Contents

Top

storagegroup/types.proto

Message StorageGroup

StorageGroup keeps verification information for Data Audit sessions. Objects 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/__FROSTFS__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. Members MUST be unique

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