[#477] metabase: Move MergeSplitInfo
to storage/util pkg
This function already reused in different storage engine parts so it makes sense to keep it in separate package. Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
bc09e29bfd
commit
9a961e21b1
6 changed files with 95 additions and 23 deletions
21
pkg/local_object_storage/util/splitinfo.go
Normal file
21
pkg/local_object_storage/util/splitinfo.go
Normal file
|
@ -0,0 +1,21 @@
|
|||
package util
|
||||
|
||||
import (
|
||||
objectSDK "github.com/nspcc-dev/neofs-api-go/pkg/object"
|
||||
)
|
||||
|
||||
// MergeSplitInfo ignores conflicts and rewrites `to` with non empty values
|
||||
// from `from`.
|
||||
func MergeSplitInfo(from, to *objectSDK.SplitInfo) *objectSDK.SplitInfo {
|
||||
to.SetSplitID(from.SplitID()) // overwrite SplitID and ignore conflicts
|
||||
|
||||
if lp := from.LastPart(); lp != nil {
|
||||
to.SetLastPart(lp)
|
||||
}
|
||||
|
||||
if link := from.Link(); link != nil {
|
||||
to.SetLink(link)
|
||||
}
|
||||
|
||||
return to
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue