[#64] object: Allow to reset marshal data
All checks were successful
DCO action / DCO (pull_request) Successful in 58s
Tests and linters / Tests (1.19) (pull_request) Successful in 1m24s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m32s
Tests and linters / Lint (pull_request) Successful in 1m43s
Tests and linters / Tests with -race (pull_request) Successful in 2m5s

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 = data
o.marshalData = o.StableMarshal(nil)
} else {
o.marshalData = data
}
} }
func (o *Object) StableSize() (size int) { func (o *Object) StableSize() (size int) {