[#26] object: Define object split info message

This commit defines SplitHeader message that encapsulates data about
spawning the object through a payload splitting. Message fields contain
information about the hierarchy in the split-chain as well as information
about the origin object.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-08-04 16:04:56 +03:00 committed by Stanislav Bogatyrev
parent 4bdd05ade8
commit 485510ab66
2 changed files with 34 additions and 0 deletions

View file

@ -100,6 +100,24 @@ message Transform {
Type type = 1;
}
// SplitHeader groups information about spawning the object through a payload splitting.
message SplitHeader {
// Parent carries identifier of the origin object.
refs.ObjectID Parent = 1;
// Previous carries identifier of the left split neighbor.
refs.ObjectID Previous = 2;
// Previous carries identifier of the right split neighbor.
refs.ObjectID Next = 3;
// Children carries list of identifiers of the objects generated by splitting the current.
repeated refs.ObjectID Children = 4;
// Origin carries the header of the origin object.
Header Origin = 5;
}
// Header groups the information about the NeoFS object.
message Header {
// SystemHeader describes system header

View file

@ -36,6 +36,7 @@
- [Link](#object.Link)
- [Object](#object.Object)
- [PublicKey](#object.PublicKey)
- [SplitHeader](#object.SplitHeader)
- [SystemHeader](#object.SystemHeader)
- [Tombstone](#object.Tombstone)
- [Transform](#object.Transform)
@ -453,6 +454,21 @@ Header groups the information about the NeoFS object.
| Value | [bytes](#bytes) | | Value contains marshaled ecdsa public key |
<a name="object.SplitHeader"></a>
### Message SplitHeader
SplitHeader groups information about spawning the object through a payload splitting.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| Parent | [refs.ObjectID](#refs.ObjectID) | | Parent carries identifier of the origin object. |
| Previous | [refs.ObjectID](#refs.ObjectID) | | Previous carries identifier of the left split neighbor. |
| Next | [refs.ObjectID](#refs.ObjectID) | | Previous carries identifier of the right split neighbor. |
| Children | [refs.ObjectID](#refs.ObjectID) | repeated | Children carries list of identifiers of the objects generated by splitting the current. |
| Origin | [Header](#object.Header) | | Origin carries the header of the origin object. |
<a name="object.SystemHeader"></a>
### Message SystemHeader