[#209] v2/object: Add splitID to unified structure

* Add getters/setters
* Support stable marshaling
* Support converters

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2020-11-24 20:14:03 +03:00 committed by Alex Vanin
parent d441193952
commit b9778464b9
4 changed files with 29 additions and 0 deletions

View file

@ -21,6 +21,7 @@ const (
splitHdrParentSignatureField = 3
splitHdrParentHeaderField = 4
splitHdrChildrenField = 5
splitHdrSplitIDField = 6
hdrVersionField = 1
hdrContainerIDField = 2
@ -275,6 +276,11 @@ func (h *SplitHeader) StableMarshal(buf []byte) ([]byte, error) {
offset += n
}
_, err = proto.BytesMarshal(splitHdrSplitIDField, buf[offset:], h.splitID)
if err != nil {
return nil, err
}
return buf, nil
}
@ -292,6 +298,8 @@ func (h *SplitHeader) StableSize() (size int) {
size += proto.NestedStructureSize(splitHdrChildrenField, h.children[i])
}
size += proto.BytesSize(splitHdrSplitIDField, h.splitID)
return size
}