Skip to content

Latest commit

 

History

History
80 lines (52 loc) · 3.48 KB

link.md

File metadata and controls

80 lines (52 loc) · 3.48 KB

Protocol Documentation

Table of Contents

Top

link/types.proto

Message Link

Link is a payload of helper objects that contain the full list of the split chain objects' IDs. It is created only after the whole split chain is known and signed. This object is the only object that refers to every "child object" ID. It is NOT required for the original object assembling. It MUST have ALL the "child objects" IDs. Child objects MUST be ordered according to the original payload split, meaning the first payload part holder MUST be placed at the first place in the corresponding link object. Sizes MUST NOT be omitted and MUST be a real object payload size in bytes.

Field Type Label Description
children Link.MeasuredObject repeated Full list of the "child" object descriptors.

Message Link.MeasuredObject

Object ID with its object's payload size.

Field Type Label Description
id neo.fs.v2.refs.ObjectID Object ID.
size uint32 Object size in bytes.

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