Add split_info field in object.GetResponse body

SplitInfo structure from split_info field contains meta information
to assembly the object that has been split into parts.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2020-12-02 11:33:15 +03:00 committed by Leonard Lyubich
parent 289a6366fa
commit a5a39257fc
2 changed files with 21 additions and 0 deletions

View file

@ -102,6 +102,9 @@ message GetResponse {
// Chunked object payload // Chunked object payload
bytes chunk = 2; bytes chunk = 2;
// Meta information of split hierarchy for object assembly.
SplitInfo split_info = 3;
} }
} }
// Body of get object response message. // Body of get object response message.

View file

@ -168,3 +168,21 @@ message Object {
// Payload bytes // Payload bytes
bytes payload = 4 [json_name = "payload"]; bytes payload = 4 [json_name = "payload"];
} }
// 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.
message SplitInfo {
// 16 byte UUID used to identify the split object hierarchy parts.
bytes split_id = 1;
// Identifier of the last object in split hierarchy parts. It contains
// split header with original object header.
neo.fs.v2.refs.ObjectID last_part = 2;
// Identifier of linking object for split hierarchy parts. It contains
// split header with original object header and sorted list of
// object parts.
neo.fs.v2.refs.ObjectID link = 3;
}