[#48] object: Introduce parent_split_id and parent_index for EC

* Introduce new fields for `EC`-header for `Object` service;
* Regenerate docs.

Signed-off-by: Airat Arifullin <aarifullin@yadro.com>
This commit is contained in:
Airat Arifullin 2024-05-08 13:07:33 +03:00
parent b182533828
commit cfb148ea0c
2 changed files with 8 additions and 0 deletions

View file

@ -208,6 +208,12 @@ message Header {
uint32 header_length = 4 [ json_name = "headerLength" ]; uint32 header_length = 4 [ json_name = "headerLength" ];
// Chunk of a parent header. // Chunk of a parent header.
bytes header = 5 [ json_name = "header" ]; bytes header = 5 [ json_name = "header" ];
// As the origin object is EC-splitted its identifier is known to all
// chunks as parent. But parent itself can be a part of Split (does not relate to EC-split).
// In this case parent_split_id should be set.
bytes parent_split_id = 6 [ json_name = "parentSplitID" ];
// Parent's index in Split.
uint32 parent_split_index = 7 [ json_name = "parentSplitIndex" ];
} }
// Erasure code chunk information. // Erasure code chunk information.
EC ec = 12 [ json_name = "ec" ]; EC ec = 12 [ json_name = "ec" ];

View file

@ -1064,6 +1064,8 @@ All objects belonging to a single EC group have the same `parent` field.
| total | [uint32](#uint32) | | Total number of chunks in this split. | | total | [uint32](#uint32) | | Total number of chunks in this split. |
| header_length | [uint32](#uint32) | | Total length of a parent header. Used to trim padding zeroes. | | header_length | [uint32](#uint32) | | Total length of a parent header. Used to trim padding zeroes. |
| header | [bytes](#bytes) | | Chunk of a parent header. | | header | [bytes](#bytes) | | Chunk of a parent header. |
| parent_split_id | [bytes](#bytes) | | As the origin object is EC-splitted its identifier is known to all chunks as parent. But parent itself can be a part of Split (does not relate to EC-split). In this case parent_split_id should be set. |
| parent_split_index | [uint32](#uint32) | | Parent's index in Split. |
<a name="neo.fs.v2.object.Header.Split"></a> <a name="neo.fs.v2.object.Header.Split"></a>