[#64] object: Allow to reset marshal data

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2024-02-15 14:41:33 +03:00
parent d60ce83e42
commit 2a124b95bc

View file

@ -346,16 +346,12 @@ func (o *Object) StableMarshal(buf []byte) []byte {
// SetMarshalData sets marshal data to reduce memory allocations. // SetMarshalData sets marshal data to reduce memory allocations.
// //
// It is unsafe to modify object data after setting marshal data. // It is unsafe to modify/copy object data after setting marshal data.
func (o *Object) SetMarshalData(data []byte) { func (o *Object) SetMarshalData(data []byte) {
if o == nil { if o == nil {
return return
} }
if data == nil {
o.marshalData = o.StableMarshal(nil)
} else {
o.marshalData = data o.marshalData = data
}
} }
func (o *Object) StableSize() (size int) { func (o *Object) StableSize() (size int) {