[#1214] *: Use single Object type in whole project

Remove `Object` and `RawObject` types from `pkg/core/object` package.
Use `Object` type from NeoFS SDK Go library everywhere. Avoid using the
deprecated elements.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2022-03-03 17:19:05 +03:00 committed by Alex Vanin
parent 19ad349b27
commit 7ccd1625af
100 changed files with 847 additions and 965 deletions

View file

@ -9,10 +9,9 @@ import (
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
eaclSDK "github.com/nspcc-dev/neofs-sdk-go/eacl"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
objectSDKAddress "github.com/nspcc-dev/neofs-sdk-go/object/address"
objectSDKID "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/stretchr/testify/require"
@ -86,11 +85,11 @@ func TestHeadRequest(t *testing.T) {
meta.SetXHeaders(xHdrs)
obj := object.NewRaw()
obj := object.New()
attrKey := "attr_key"
attrVal := "attr_val"
attr := objectSDK.NewAttribute()
attr := object.NewAttribute()
attr.SetKey(attrKey)
attr.SetValue(attrVal)
obj.SetAttributes(attr)
@ -113,7 +112,7 @@ func TestHeadRequest(t *testing.T) {
lStorage := &testLocalStorage{
t: t,
expAddr: addr,
obj: obj.Object(),
obj: obj,
}
cid := addr.ContainerID()

View file

@ -7,9 +7,9 @@ import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-api-go/v2/refs"
"github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
eaclSDK "github.com/nspcc-dev/neofs-sdk-go/eacl"
"github.com/nspcc-dev/neofs-sdk-go/object"
objectSDKAddress "github.com/nspcc-dev/neofs-sdk-go/object/address"
objectSDKID "github.com/nspcc-dev/neofs-sdk-go/object/id"
sessionSDK "github.com/nspcc-dev/neofs-sdk-go/session"

View file

@ -3,8 +3,8 @@ package v2
import (
"io"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
"github.com/nspcc-dev/neofs-sdk-go/object"
objectSDKAddress "github.com/nspcc-dev/neofs-sdk-go/object/address"
)

View file

@ -4,9 +4,9 @@ import (
"strconv"
"github.com/nspcc-dev/neofs-api-go/v2/acl"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
eaclSDK "github.com/nspcc-dev/neofs-sdk-go/eacl"
"github.com/nspcc-dev/neofs-sdk-go/object"
objectSDKAddress "github.com/nspcc-dev/neofs-sdk-go/object/address"
objectSDKID "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-sdk-go/owner"
@ -42,12 +42,12 @@ func u64Value(v uint64) string {
func headersFromObject(obj *object.Object, addr *objectSDKAddress.Address) []eaclSDK.Header {
var count int
for obj := obj; obj != nil; obj = obj.GetParent() {
for obj := obj; obj != nil; obj = obj.Parent() {
count += 9 + len(obj.Attributes())
}
res := make([]eaclSDK.Header, 0, count)
for ; obj != nil; obj = obj.GetParent() {
for ; obj != nil; obj = obj.Parent() {
res = append(res,
cidHeader(addr.ContainerID()),
// owner ID

View file

@ -5,11 +5,10 @@ import (
"strconv"
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"go.uber.org/zap"
@ -31,11 +30,11 @@ type execCtx struct {
log *logger.Logger
tombstone *objectSDK.Tombstone
tombstone *object.Tombstone
splitInfo *objectSDK.SplitInfo
splitInfo *object.SplitInfo
tombstoneObj *object.RawObject
tombstoneObj *object.Object
}
const (
@ -240,13 +239,13 @@ func (exec *execCtx) initTombstoneObject() bool {
tombOwnerID = exec.svc.netInfo.LocalNodeID()
}
exec.tombstoneObj = object.NewRaw()
exec.tombstoneObj = object.New()
exec.tombstoneObj.SetContainerID(exec.containerID())
exec.tombstoneObj.SetOwnerID(tombOwnerID)
exec.tombstoneObj.SetType(objectSDK.TypeTombstone)
exec.tombstoneObj.SetType(object.TypeTombstone)
exec.tombstoneObj.SetPayload(payload)
a := objectSDK.NewAttribute()
a := object.NewAttribute()
a.SetKey(objectV2.SysAttributeExpEpoch)
a.SetValue(strconv.FormatUint(exec.tombstone.ExpirationEpoch(), 10))

View file

@ -1,7 +1,7 @@
package deletesvc
import (
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"go.uber.org/zap"
)
@ -39,7 +39,7 @@ func (exec *execCtx) formTombstone() (ok bool) {
return false
}
exec.tombstone = objectSDK.NewTombstone()
exec.tombstone = object.NewTombstone()
exec.tombstone.SetExpirationEpoch(
exec.svc.netInfo.CurrentEpoch() + tsLifetime,
)

View file

@ -6,7 +6,7 @@ import (
putsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/put"
searchsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/search"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-sdk-go/owner"
"go.uber.org/zap"
@ -38,7 +38,7 @@ type cfg struct {
header interface {
// must return (nil, nil) for PHY objects
splitInfo(*execCtx) (*objectSDK.SplitInfo, error)
splitInfo(*execCtx) (*object.SplitInfo, error)
children(*execCtx) ([]*oidSDK.ID, error)

View file

@ -3,12 +3,11 @@ package deletesvc
import (
"errors"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
getsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/get"
putsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/put"
searchsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/search"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
@ -40,10 +39,10 @@ func (w *headSvcWrapper) headAddress(exec *execCtx, addr *addressSDK.Address) (*
return wr.Object(), nil
}
func (w *headSvcWrapper) splitInfo(exec *execCtx) (*objectSDK.SplitInfo, error) {
func (w *headSvcWrapper) splitInfo(exec *execCtx) (*object.SplitInfo, error) {
_, err := w.headAddress(exec, exec.address())
var errSplitInfo *objectSDK.SplitInfoError
var errSplitInfo *object.SplitInfoError
switch {
case err == nil:
@ -78,8 +77,8 @@ func (w *headSvcWrapper) previous(exec *execCtx, id *oidSDK.ID) (*oidSDK.ID, err
}
func (w *searchSvcWrapper) splitMembers(exec *execCtx) ([]*oidSDK.ID, error) {
fs := objectSDK.SearchFilters{}
fs.AddSplitIDFilter(objectSDK.MatchStringEqual, exec.splitInfo.SplitID())
fs := object.SearchFilters{}
fs.AddSplitIDFilter(object.MatchStringEqual, exec.splitInfo.SplitID())
wr := new(simpleIDWriter)

View file

@ -71,7 +71,7 @@ func (exec *execCtx) initFromChild(id *oidSDK.ID) (prev *oidSDK.ID, children []*
return
}
par := child.GetParent()
par := child.Parent()
if par == nil {
exec.status = statusUndefined
@ -115,7 +115,7 @@ func (exec *execCtx) initFromChild(id *oidSDK.ID) (prev *oidSDK.ID, children []*
payload = child.Payload()
}
object.NewRawFromObject(exec.collectedObject).SetPayload(payload)
exec.collectedObject.SetPayload(payload)
return child.PreviousID(), child.Children()
}

View file

@ -34,7 +34,7 @@ type execCtx struct {
log *logger.Logger
collectedObject *object.Object
collectedObject *objectSDK.Object
curOff uint64
@ -99,9 +99,9 @@ func (exec execCtx) address() *addressSDK.Address {
return exec.prm.addr
}
func (exec execCtx) isChild(obj *object.Object) bool {
par := obj.GetParent()
return par != nil && equalAddresses(exec.address(), par.Address())
func (exec execCtx) isChild(obj *objectSDK.Object) bool {
par := obj.Parent()
return par != nil && equalAddresses(exec.address(), object.AddressOf(par))
}
func (exec execCtx) key() (*ecdsa.PrivateKey, error) {
@ -178,7 +178,7 @@ func (exec *execCtx) generateTraverser(addr *addressSDK.Address) (*placement.Tra
}
}
func (exec *execCtx) getChild(id *oidSDK.ID, rng *objectSDK.Range, withHdr bool) (*object.Object, bool) {
func (exec *execCtx) getChild(id *oidSDK.ID, rng *objectSDK.Range, withHdr bool) (*objectSDK.Object, bool) {
w := NewSimpleObjectWriter()
p := exec.prm
@ -207,7 +207,7 @@ func (exec *execCtx) getChild(id *oidSDK.ID, rng *objectSDK.Range, withHdr bool)
return child, ok
}
func (exec *execCtx) headChild(id *oidSDK.ID) (*object.Object, bool) {
func (exec *execCtx) headChild(id *oidSDK.ID) (*objectSDK.Object, bool) {
childAddr := addressSDK.NewAddress()
childAddr.SetContainerID(exec.containerID())
childAddr.SetObjectID(id)
@ -288,7 +288,7 @@ func (exec *execCtx) writeCollectedHeader() bool {
}
err := exec.prm.objWriter.WriteHeader(
object.NewRawFromObject(exec.collectedObject).CutPayload().Object(),
exec.collectedObject.CutPayload(),
)
switch {
@ -307,7 +307,7 @@ func (exec *execCtx) writeCollectedHeader() bool {
return exec.status == statusOK
}
func (exec *execCtx) writeObjectPayload(obj *object.Object) bool {
func (exec *execCtx) writeObjectPayload(obj *objectSDK.Object) bool {
if exec.headOnly() {
return true
}

View file

@ -4,7 +4,7 @@ import (
"context"
"github.com/nspcc-dev/neofs-node/pkg/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
"go.uber.org/zap"
)
@ -69,7 +69,7 @@ func (s *Service) get(ctx context.Context, prm commonPrm, opts ...execOption) st
prm: RangePrm{
commonPrm: prm,
},
infoSplit: objectSDK.NewSplitInfo(),
infoSplit: object.NewSplitInfo(),
}
for i := range opts {

View file

@ -30,7 +30,7 @@ type testStorage struct {
virtual map[string]*objectSDK.SplitInfo
phy map[string]*object.Object
phy map[string]*objectSDK.Object
}
type testTraverserGenerator struct {
@ -48,7 +48,7 @@ type testClientCache struct {
type testClient struct {
results map[string]struct {
obj *object.RawObject
obj *objectSDK.Object
err error
}
}
@ -63,7 +63,7 @@ func newTestStorage() *testStorage {
return &testStorage{
inhumed: make(map[string]struct{}),
virtual: make(map[string]*objectSDK.SplitInfo),
phy: make(map[string]*object.Object),
phy: make(map[string]*objectSDK.Object),
}
}
@ -97,7 +97,7 @@ func (c *testClientCache) get(info client.NodeInfo) (getClient, error) {
func newTestClient() *testClient {
return &testClient{
results: map[string]struct {
obj *object.RawObject
obj *objectSDK.Object
err error
}{},
}
@ -113,20 +113,20 @@ func (c *testClient) getObject(exec *execCtx, _ client.NodeInfo) (*objectSDK.Obj
return nil, v.err
}
return cutToRange(v.obj.Object(), exec.ctxRange()).SDK(), nil
return cutToRange(v.obj, exec.ctxRange()), nil
}
func (c *testClient) addResult(addr *addressSDK.Address, obj *object.RawObject, err error) {
func (c *testClient) addResult(addr *addressSDK.Address, obj *objectSDK.Object, err error) {
c.results[addr.String()] = struct {
obj *object.RawObject
obj *objectSDK.Object
err error
}{obj: obj, err: err}
}
func (s *testStorage) get(exec *execCtx) (*object.Object, error) {
func (s *testStorage) get(exec *execCtx) (*objectSDK.Object, error) {
var (
ok bool
obj *object.Object
obj *objectSDK.Object
sAddr = exec.address().String()
)
@ -145,26 +145,24 @@ func (s *testStorage) get(exec *execCtx) (*object.Object, error) {
return nil, object.ErrNotFound
}
func cutToRange(o *object.Object, rng *objectSDK.Range) *object.Object {
obj := object.NewRawFromObject(o)
func cutToRange(o *objectSDK.Object, rng *objectSDK.Range) *objectSDK.Object {
if rng == nil {
return obj.Object()
return o
}
from := rng.GetOffset()
to := from + rng.GetLength()
payload := obj.Payload()
payload := o.Payload()
obj = obj.CutPayload()
obj.SetPayload(payload[from:to])
o = o.CutPayload()
o.SetPayload(payload[from:to])
return obj.Object()
return o
}
func (s *testStorage) addPhy(addr *addressSDK.Address, obj *object.RawObject) {
s.phy[addr.String()] = obj.Object()
func (s *testStorage) addPhy(addr *addressSDK.Address, obj *objectSDK.Object) {
s.phy[addr.String()] = obj
}
func (s *testStorage) addVirtual(addr *addressSDK.Address, info *objectSDK.SplitInfo) {
@ -196,8 +194,8 @@ func generateAddress() *addressSDK.Address {
return addr
}
func generateObject(addr *addressSDK.Address, prev *oidSDK.ID, payload []byte, children ...*oidSDK.ID) *object.RawObject {
obj := object.NewRaw()
func generateObject(addr *addressSDK.Address, prev *oidSDK.ID, payload []byte, children ...*oidSDK.ID) *objectSDK.Object {
obj := objectSDK.New()
obj.SetContainerID(addr.ContainerID())
obj.SetID(addr.ObjectID())
obj.SetPayload(payload)
@ -277,7 +275,7 @@ func TestGetLocalOnly(t *testing.T) {
require.NoError(t, err)
require.Equal(t, obj.Object(), w.Object())
require.Equal(t, obj, w.Object())
w = NewSimpleObjectWriter()
@ -294,7 +292,7 @@ func TestGetLocalOnly(t *testing.T) {
err = svc.Head(ctx, headPrm)
require.NoError(t, err)
require.Equal(t, obj.CutPayload().Object(), w.Object())
require.Equal(t, obj.CutPayload(), w.Object())
})
t.Run("INHUMED", func(t *testing.T) {
@ -429,14 +427,14 @@ func testNodeMatrix(t testing.TB, dim []int) ([]netmap.Nodes, [][]string) {
return mNodes, mAddr
}
func generateChain(ln int, cid *cid.ID) ([]*object.RawObject, []*oidSDK.ID, []byte) {
func generateChain(ln int, cid *cid.ID) ([]*objectSDK.Object, []*oidSDK.ID, []byte) {
curID := generateID()
var prevID *oidSDK.ID
addr := addressSDK.NewAddress()
addr.SetContainerID(cid)
res := make([]*object.RawObject, 0, ln)
res := make([]*objectSDK.Object, 0, ln)
ids := make([]*oidSDK.ID, 0, ln)
payload := make([]byte, 0, ln*10)
@ -560,13 +558,13 @@ func TestGetRemoteSmall(t *testing.T) {
err := svc.Get(ctx, p)
require.NoError(t, err)
require.Equal(t, obj.Object(), w.Object())
require.Equal(t, obj, w.Object())
*c1, *c2 = *c2, *c1
err = svc.Get(ctx, p)
require.NoError(t, err)
require.Equal(t, obj.Object(), w.Object())
require.Equal(t, obj, w.Object())
w = NewSimpleObjectWriter()
rngPrm := newRngPrm(false, w, payloadSz/3, payloadSz/3)
@ -582,7 +580,7 @@ func TestGetRemoteSmall(t *testing.T) {
err = svc.Head(ctx, headPrm)
require.NoError(t, err)
require.Equal(t, obj.CutPayload().Object(), w.Object())
require.Equal(t, obj.CutPayload(), w.Object())
})
t.Run("INHUMED", func(t *testing.T) {
@ -758,7 +756,7 @@ func TestGetRemoteSmall(t *testing.T) {
linkingObj := generateObject(linkAddr, nil, nil, childIDs...)
linkingObj.SetParentID(addr.ObjectID())
linkingObj.SetParent(srcObj.Object().SDK())
linkingObj.SetParent(srcObj)
child1Addr := addressSDK.NewAddress()
child1Addr.SetContainerID(cid)
@ -826,7 +824,7 @@ func TestGetRemoteSmall(t *testing.T) {
children, childIDs, payload := generateChain(2, cid)
srcObj.SetPayload(payload)
srcObj.SetPayloadSize(uint64(len(payload)))
children[len(children)-1].SetParent(srcObj.Object().SDK())
children[len(children)-1].SetParent(srcObj)
linkAddr := addressSDK.NewAddress()
linkAddr.SetContainerID(cid)
@ -834,7 +832,7 @@ func TestGetRemoteSmall(t *testing.T) {
linkingObj := generateObject(linkAddr, nil, nil, childIDs...)
linkingObj.SetParentID(addr.ObjectID())
linkingObj.SetParent(srcObj.Object().SDK())
linkingObj.SetParent(srcObj)
child1Addr := addressSDK.NewAddress()
child1Addr.SetContainerID(cid)
@ -881,7 +879,7 @@ func TestGetRemoteSmall(t *testing.T) {
err := svc.Get(ctx, p)
require.NoError(t, err)
require.Equal(t, srcObj.Object(), w.Object())
require.Equal(t, srcObj, w.Object())
w = NewSimpleObjectWriter()
payloadSz := srcObj.PayloadSize()
@ -972,9 +970,9 @@ func TestGetRemoteSmall(t *testing.T) {
rightObj := children[len(children)-1]
rightObj.SetParentID(addr.ObjectID())
rightObj.SetParent(srcObj.Object().SDK())
rightObj.SetParent(srcObj)
preRightAddr := children[len(children)-2].Object().Address()
preRightAddr := object.AddressOf(children[len(children)-2])
c1 := newTestClient()
c1.addResult(addr, nil, errors.New("any error"))
@ -1037,20 +1035,20 @@ func TestGetRemoteSmall(t *testing.T) {
rightObj.SetID(splitInfo.LastPart())
rightObj.SetParentID(addr.ObjectID())
rightObj.SetParent(srcObj.Object().SDK())
rightObj.SetParent(srcObj)
c1 := newTestClient()
c1.addResult(addr, nil, errors.New("any error"))
for i := range children {
c1.addResult(children[i].Object().Address(), nil, errors.New("any error"))
c1.addResult(object.AddressOf(children[i]), nil, errors.New("any error"))
}
c2 := newTestClient()
c2.addResult(addr, nil, objectSDK.NewSplitInfoError(splitInfo))
for i := range children {
c2.addResult(children[i].Object().Address(), children[i], nil)
c2.addResult(object.AddressOf(children[i]), children[i], nil)
}
builder := &testPlacementBuilder{
@ -1060,7 +1058,7 @@ func TestGetRemoteSmall(t *testing.T) {
builder.vectors[addr.String()] = ns
for i := range children {
builder.vectors[children[i].Object().Address().String()] = ns
builder.vectors[object.AddressOf(children[i]).String()] = ns
}
svc := newSvc(builder, &testClientCache{
@ -1079,7 +1077,7 @@ func TestGetRemoteSmall(t *testing.T) {
err := svc.Get(ctx, p)
require.NoError(t, err)
require.Equal(t, srcObj.Object(), w.Object())
require.Equal(t, srcObj, w.Object())
w = NewSimpleObjectWriter()
payloadSz := srcObj.PayloadSize()
@ -1188,7 +1186,7 @@ func TestGetFromPastEpoch(t *testing.T) {
err = svc.Get(ctx, p)
require.NoError(t, err)
require.Equal(t, obj.Object(), w.Object())
require.Equal(t, obj, w.Object())
rp := RangePrm{}
rp.SetChunkWriter(w)
@ -1230,5 +1228,5 @@ func TestGetFromPastEpoch(t *testing.T) {
err = svc.Head(ctx, hp)
require.NoError(t, err)
require.Equal(t, obj.CutPayload().Object(), w.Object())
require.Equal(t, obj.CutPayload(), w.Object())
}

View file

@ -4,9 +4,8 @@ import (
"hash"
coreclient "github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
@ -19,7 +18,7 @@ type Prm struct {
type RangePrm struct {
commonPrm
rng *objectSDK.Range
rng *object.Range
}
// RangeHashPrm groups parameters of GetRange service call.
@ -28,12 +27,12 @@ type RangeHashPrm struct {
hashGen func() hash.Hash
rngs []*objectSDK.Range
rngs []*object.Range
salt []byte
}
type RequestForwarder func(coreclient.NodeInfo, coreclient.MultiAddressClient) (*objectSDK.Object, error)
type RequestForwarder func(coreclient.NodeInfo, coreclient.MultiAddressClient) (*object.Object, error)
// HeadPrm groups parameters of Head service call.
type HeadPrm struct {
@ -83,12 +82,12 @@ func (p *RangePrm) SetChunkWriter(w ChunkWriter) {
}
// SetRange sets range of the requested payload data.
func (p *RangePrm) SetRange(rng *objectSDK.Range) {
func (p *RangePrm) SetRange(rng *object.Range) {
p.rng = rng
}
// SetRangeList sets list of object payload ranges.
func (p *RangeHashPrm) SetRangeList(rngs []*objectSDK.Range) {
func (p *RangeHashPrm) SetRangeList(rngs []*object.Range) {
p.rngs = rngs
}

View file

@ -33,7 +33,7 @@ func (exec *execCtx) processNode(ctx context.Context, info client.NodeInfo) bool
case err == nil:
exec.status = statusOK
exec.err = nil
exec.collectedObject = object.NewFromSDK(obj)
exec.collectedObject = obj
exec.writeCollectedObject()
case errors.Is(err, object.ErrAlreadyRemoved):
exec.status = statusINHUMED

View file

@ -5,12 +5,11 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/netmap"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/nspcc-dev/neofs-sdk-go/session"
"go.uber.org/zap"
@ -25,7 +24,7 @@ type Service struct {
type Option func(*cfg)
type getClient interface {
getObject(*execCtx, client.NodeInfo) (*objectSDK.Object, error)
getObject(*execCtx, client.NodeInfo) (*object.Object, error)
}
type cfg struct {

View file

@ -5,15 +5,14 @@ import (
coreclient "github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/netmap"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
internal "github.com/nspcc-dev/neofs-node/pkg/services/object/internal/client"
internalclient "github.com/nspcc-dev/neofs-node/pkg/services/object/internal/client"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
)
type SimpleObjectWriter struct {
obj *object.RawObject
obj *object.Object
pld []byte
}
@ -48,12 +47,12 @@ type nmSrcWrapper struct {
func NewSimpleObjectWriter() *SimpleObjectWriter {
return &SimpleObjectWriter{
obj: object.NewRaw(),
obj: object.New(),
}
}
func (s *SimpleObjectWriter) WriteHeader(obj *object.Object) error {
s.obj = object.NewRawFromObject(obj)
s.obj = obj
s.pld = make([]byte, 0, obj.PayloadSize())
@ -70,7 +69,7 @@ func (s *SimpleObjectWriter) Object() *object.Object {
s.obj.SetPayload(s.pld)
}
return s.obj.Object()
return s.obj
}
func (c *clientCacheWrapper) get(info coreclient.NodeInfo) (getClient, error) {
@ -84,7 +83,7 @@ func (c *clientCacheWrapper) get(info coreclient.NodeInfo) (getClient, error) {
}, nil
}
func (c *clientWrapper) getObject(exec *execCtx, info coreclient.NodeInfo) (*objectSDK.Object, error) {
func (c *clientWrapper) getObject(exec *execCtx, info coreclient.NodeInfo) (*object.Object, error) {
if exec.isForwardingEnabled() {
return exec.prm.forwarder(info, c.client)
}
@ -211,11 +210,11 @@ func (w *partWriter) WriteHeader(o *object.Object) error {
return w.headWriter.WriteHeader(o)
}
func payloadOnlyObject(payload []byte) *objectSDK.Object {
rawObj := object.NewRaw()
rawObj.SetPayload(payload)
func payloadOnlyObject(payload []byte) *object.Object {
obj := object.New()
obj.SetPayload(payload)
return rawObj.Object().SDK()
return obj
}
func (h *hasherWrapper) WriteChunk(p []byte) error {

View file

@ -2,8 +2,8 @@ package getsvc
import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
objectSvc "github.com/nspcc-dev/neofs-node/pkg/services/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
)
type streamObjectWriter struct {

View file

@ -16,13 +16,12 @@ import (
"github.com/nspcc-dev/neofs-api-go/v2/session"
"github.com/nspcc-dev/neofs-api-go/v2/signature"
"github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/network"
objectSvc "github.com/nspcc-dev/neofs-node/pkg/services/object"
getsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/get"
"github.com/nspcc-dev/neofs-node/pkg/services/object/internal"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
signature2 "github.com/nspcc-dev/neofs-sdk-go/util/signature"
"github.com/nspcc-dev/tzhash/tz"
@ -49,7 +48,7 @@ func (s *Service) toPrm(req *objectV2.GetRequest, stream objectSvc.GetObjectStre
if !commonPrm.LocalOnly() {
var onceResign sync.Once
p.SetRequestForwarder(groupAddressRequestForwarder(func(addr network.Address, c client.MultiAddressClient, pubkey []byte) (*objectSDK.Object, error) {
p.SetRequestForwarder(groupAddressRequestForwarder(func(addr network.Address, c client.MultiAddressClient, pubkey []byte) (*object.Object, error) {
var err error
key, err := s.keyStorage.GetKey(nil)
@ -139,15 +138,15 @@ func (s *Service) toPrm(req *objectV2.GetRequest, stream objectSvc.GetObjectStre
payload = append(payload, v.GetChunk()...)
case *objectV2.SplitInfo:
si := objectSDK.NewSplitInfoFromV2(v)
return nil, objectSDK.NewSplitInfoError(si)
si := object.NewSplitInfoFromV2(v)
return nil, object.NewSplitInfoError(si)
}
}
obj.SetPayload(payload)
// convert the object
return objectSDK.NewFromV2(obj), nil
return object.NewFromV2(obj), nil
}))
}
@ -169,7 +168,7 @@ func (s *Service) toRangePrm(req *objectV2.GetRangeRequest, stream objectSvc.Get
p.WithAddress(addressSDK.NewAddressFromV2(body.GetAddress()))
p.WithRawFlag(body.GetRaw())
p.SetChunkWriter(&streamObjectRangeWriter{stream})
p.SetRange(objectSDK.NewRangeFromV2(body.GetRange()))
p.SetRange(object.NewRangeFromV2(body.GetRange()))
if !commonPrm.LocalOnly() {
var onceResign sync.Once
@ -179,7 +178,7 @@ func (s *Service) toRangePrm(req *objectV2.GetRangeRequest, stream objectSvc.Get
return nil, err
}
p.SetRequestForwarder(groupAddressRequestForwarder(func(addr network.Address, c client.MultiAddressClient, pubkey []byte) (*objectSDK.Object, error) {
p.SetRequestForwarder(groupAddressRequestForwarder(func(addr network.Address, c client.MultiAddressClient, pubkey []byte) (*object.Object, error) {
var err error
// once compose and resign forwarding request
@ -239,16 +238,16 @@ func (s *Service) toRangePrm(req *objectV2.GetRangeRequest, stream objectSvc.Get
case *objectV2.GetRangePartChunk:
payload = append(payload, v.GetChunk()...)
case *objectV2.SplitInfo:
si := objectSDK.NewSplitInfoFromV2(v)
si := object.NewSplitInfoFromV2(v)
return nil, objectSDK.NewSplitInfoError(si)
return nil, object.NewSplitInfoError(si)
}
}
obj := objectSDK.NewRaw()
obj := object.New()
obj.SetPayload(payload)
return obj.Object(), nil
return obj, nil
}))
}
@ -268,10 +267,10 @@ func (s *Service) toHashRangePrm(req *objectV2.GetRangeHashRequest) (*getsvc.Ran
p.WithAddress(addressSDK.NewAddressFromV2(body.GetAddress()))
rngsV2 := body.GetRanges()
rngs := make([]*objectSDK.Range, 0, len(rngsV2))
rngs := make([]*object.Range, 0, len(rngsV2))
for i := range rngsV2 {
rngs = append(rngs, objectSDK.NewRangeFromV2(rngsV2[i]))
rngs = append(rngs, object.NewRangeFromV2(rngsV2[i]))
}
p.SetRangeList(rngs)
@ -334,7 +333,7 @@ func (s *Service) toHeadPrm(ctx context.Context, req *objectV2.HeadRequest, resp
if !commonPrm.LocalOnly() {
var onceResign sync.Once
p.SetRequestForwarder(groupAddressRequestForwarder(func(addr network.Address, c client.MultiAddressClient, pubkey []byte) (*objectSDK.Object, error) {
p.SetRequestForwarder(groupAddressRequestForwarder(func(addr network.Address, c client.MultiAddressClient, pubkey []byte) (*object.Object, error) {
var err error
key, err := s.keyStorage.GetKey(nil)
@ -429,27 +428,27 @@ func (s *Service) toHeadPrm(ctx context.Context, req *objectV2.HeadRequest, resp
return nil, fmt.Errorf("incorrect object header signature: %w", err)
}
case *objectV2.SplitInfo:
si := objectSDK.NewSplitInfoFromV2(v)
si := object.NewSplitInfoFromV2(v)
return nil, objectSDK.NewSplitInfoError(si)
return nil, object.NewSplitInfoError(si)
}
obj := new(objectV2.Object)
obj.SetHeader(hdr)
obj.SetSignature(idSig)
objv2 := new(objectV2.Object)
objv2.SetHeader(hdr)
objv2.SetSignature(idSig)
raw := object.NewRawFromV2(obj)
raw.SetID(objAddr.ObjectID())
obj := object.NewFromV2(objv2)
obj.SetID(objAddr.ObjectID())
// convert the object
return raw.Object().SDK(), nil
return obj, nil
}))
}
return p, nil
}
func splitInfoResponse(info *objectSDK.SplitInfo) *objectV2.GetResponse {
func splitInfoResponse(info *object.SplitInfo) *objectV2.GetResponse {
resp := new(objectV2.GetResponse)
body := new(objectV2.GetResponseBody)
@ -460,7 +459,7 @@ func splitInfoResponse(info *objectSDK.SplitInfo) *objectV2.GetResponse {
return resp
}
func splitInfoRangeResponse(info *objectSDK.SplitInfo) *objectV2.GetRangeResponse {
func splitInfoRangeResponse(info *object.SplitInfo) *objectV2.GetRangeResponse {
resp := new(objectV2.GetRangeResponse)
body := new(objectV2.GetRangeResponseBody)
@ -471,7 +470,7 @@ func splitInfoRangeResponse(info *objectSDK.SplitInfo) *objectV2.GetRangeRespons
return resp
}
func setSplitInfoHeadResponse(info *objectSDK.SplitInfo, resp *objectV2.HeadResponse) {
func setSplitInfoHeadResponse(info *object.SplitInfo, resp *objectV2.HeadResponse) {
resp.GetBody().SetHeaderPart(info.ToV2())
}
@ -512,11 +511,11 @@ func toShortObjectHeader(hdr *object.Object) objectV2.GetHeaderPart {
return sh
}
func groupAddressRequestForwarder(f func(network.Address, client.MultiAddressClient, []byte) (*objectSDK.Object, error)) getsvc.RequestForwarder {
return func(info client.NodeInfo, c client.MultiAddressClient) (*objectSDK.Object, error) {
func groupAddressRequestForwarder(f func(network.Address, client.MultiAddressClient, []byte) (*object.Object, error)) getsvc.RequestForwarder {
return func(info client.NodeInfo, c client.MultiAddressClient) (*object.Object, error) {
var (
firstErr error
res *objectSDK.Object
res *object.Object
key = info.PublicKey()
)

View file

@ -6,10 +6,10 @@ import (
"fmt"
clientcore "github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
internalclient "github.com/nspcc-dev/neofs-node/pkg/services/object/internal/client"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
@ -94,5 +94,5 @@ func (h *RemoteHeader) Head(ctx context.Context, prm *RemoteHeadPrm) (*object.Ob
return nil, fmt.Errorf("(%T) could not head object in %s: %w", h, info.AddressGroup(), err)
}
return object.NewFromSDK(res.Header()), nil
return res.Header(), nil
}

View file

@ -195,7 +195,7 @@ func GetObject(prm GetObjectPrm) (*GetObjectRes, error) {
// FIXME: #1158 object.ErrAlreadyRemoved never returns
object.NewRawFrom(&obj).SetPayload(buf)
obj.SetPayload(buf)
return &GetObjectRes{
obj: &obj,

View file

@ -11,6 +11,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/transformer"
"github.com/nspcc-dev/neofs-node/pkg/util"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
)
type distributedTarget struct {
@ -18,7 +19,7 @@ type distributedTarget struct {
remotePool, localPool util.WorkerPool
obj *object.RawObject
obj *objectSDK.Object
chunks [][]byte
@ -54,7 +55,7 @@ func (x errIncompletePut) Error() string {
return commonMsg
}
func (t *distributedTarget) WriteHeader(obj *object.RawObject) error {
func (t *distributedTarget) WriteHeader(obj *objectSDK.Object) error {
t.obj = obj
return nil
@ -81,7 +82,7 @@ func (t *distributedTarget) Close() (*transformer.AccessIdentifiers, error) {
t.obj.SetPayload(payload)
if err := t.fmt.ValidateContent(t.obj.Object()); err != nil {
if err := t.fmt.ValidateContent(t.obj); err != nil {
return nil, fmt.Errorf("(%T) could not validate payload content: %w", t, err)
}

View file

@ -3,20 +3,20 @@ package putsvc
import (
"fmt"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/transformer"
"github.com/nspcc-dev/neofs-sdk-go/object"
)
type localTarget struct {
storage *engine.StorageEngine
obj *object.RawObject
obj *object.Object
payload []byte
}
func (t *localTarget) WriteHeader(obj *object.RawObject) error {
func (t *localTarget) WriteHeader(obj *object.Object) error {
t.obj = obj
t.payload = make([]byte, 0, obj.PayloadSize())
@ -31,7 +31,7 @@ func (t *localTarget) Write(p []byte) (n int, err error) {
}
func (t *localTarget) Close() (*transformer.AccessIdentifiers, error) {
if err := engine.Put(t.storage, t.obj.Object()); err != nil {
if err := engine.Put(t.storage, t.obj); err != nil {
return nil, fmt.Errorf("(%T) could not put object to local storage: %w", t, err)
}

View file

@ -2,15 +2,15 @@ package putsvc
import (
"github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
"github.com/nspcc-dev/neofs-sdk-go/object"
)
type PutInitPrm struct {
common *util.CommonPrm
hdr *object.RawObject
hdr *object.Object
traverseOpts []placement.Option
@ -37,7 +37,7 @@ func (p *PutInitPrm) WithTraverseOption(opt placement.Option) *PutInitPrm {
return p
}
func (p *PutInitPrm) WithObject(v *object.RawObject) *PutInitPrm {
func (p *PutInitPrm) WithObject(v *object.Object) *PutInitPrm {
if p != nil {
p.hdr = v
}

View file

@ -5,11 +5,11 @@ import (
"fmt"
clientcore "github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
internalclient "github.com/nspcc-dev/neofs-node/pkg/services/object/internal/client"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/transformer"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
)
type remoteTarget struct {
@ -43,8 +43,8 @@ type RemotePutPrm struct {
obj *object.Object
}
func (t *remoteTarget) WriteHeader(obj *object.RawObject) error {
t.obj = obj.Object()
func (t *remoteTarget) WriteHeader(obj *object.Object) error {
t.obj = obj
return nil
}
@ -68,7 +68,7 @@ func (t *remoteTarget) Close() (*transformer.AccessIdentifiers, error) {
prm.SetSessionToken(t.commonPrm.SessionToken())
prm.SetBearerToken(t.commonPrm.BearerToken())
prm.SetXHeaders(t.commonPrm.XHeaders())
prm.SetObject(t.obj.SDK())
prm.SetObject(t.obj)
res, err := internalclient.PutObject(prm)
if err != nil {
@ -118,7 +118,7 @@ func (s *RemoteSender) PutObject(ctx context.Context, p *RemotePutPrm) error {
return fmt.Errorf("parse client node info: %w", err)
}
if err := t.WriteHeader(object.NewRawFromObject(p.obj)); err != nil {
if err := t.WriteHeader(p.obj); err != nil {
return fmt.Errorf("(%T) could not send object header: %w", s, err)
} else if _, err := t.Close(); err != nil {
return fmt.Errorf("(%T) could not send object: %w", s, err)

View file

@ -2,9 +2,9 @@ package putsvc
import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
putsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/put"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
"github.com/nspcc-dev/neofs-sdk-go/object"
)
func (s *streamer) toInitPrm(part *objectV2.PutObjectPartInit, req *objectV2.PutRequest) (*putsvc.PutInitPrm, error) {
@ -20,7 +20,7 @@ func (s *streamer) toInitPrm(part *objectV2.PutObjectPartInit, req *objectV2.Put
return new(putsvc.PutInitPrm).
WithObject(
object.NewRawFromV2(oV2),
object.NewFromV2(oV2),
).
WithRelay(s.relayRequest).
WithCommonPrm(commonPrm), nil

View file

@ -10,6 +10,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/transformer"
"github.com/nspcc-dev/neofs-sdk-go/checksum"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/tzhash/tz"
)
@ -35,7 +36,7 @@ var (
ErrWrongPayloadSize = errors.New("wrong payload size")
)
func (t *validatingTarget) WriteHeader(obj *object.RawObject) error {
func (t *validatingTarget) WriteHeader(obj *objectSDK.Object) error {
t.payloadSz = obj.PayloadSize()
chunkLn := uint64(len(obj.Payload()))
@ -61,7 +62,7 @@ func (t *validatingTarget) WriteHeader(obj *object.RawObject) error {
t.checksum = cs.Sum()
if err := t.fmt.Validate(obj.Object()); err != nil {
if err := t.fmt.Validate(obj); err != nil {
return fmt.Errorf("(%T) coult not validate object format: %w", t, err)
}

View file

@ -7,7 +7,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/placement"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"go.uber.org/zap"
)
@ -64,7 +64,7 @@ func (exec *execCtx) containerID() *cid.ID {
return exec.prm.cid
}
func (exec *execCtx) searchFilters() objectSDK.SearchFilters {
func (exec *execCtx) searchFilters() object.SearchFilters {
return exec.prm.filters
}

View file

@ -4,7 +4,7 @@ import (
coreclient "github.com/nspcc-dev/neofs-node/pkg/core/client"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
@ -16,7 +16,7 @@ type Prm struct {
cid *cid.ID
filters objectSDK.SearchFilters
filters object.SearchFilters
forwarder RequestForwarder
}
@ -53,6 +53,6 @@ func (p *Prm) WithContainerID(id *cid.ID) {
}
// WithSearchFilters sets search filters.
func (p *Prm) WithSearchFilters(fs objectSDK.SearchFilters) {
func (p *Prm) WithSearchFilters(fs object.SearchFilters) {
p.filters = fs
}

View file

@ -18,7 +18,7 @@ import (
searchsvc "github.com/nspcc-dev/neofs-node/pkg/services/object/search"
"github.com/nspcc-dev/neofs-node/pkg/services/object/util"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
@ -110,7 +110,7 @@ func (s *Service) toPrm(req *objectV2.SearchRequest, stream objectSvc.SearchStre
body := req.GetBody()
p.WithContainerID(cid.NewFromV2(body.GetContainerID()))
p.WithSearchFilters(objectSDK.NewSearchFiltersFromV2(body.GetFilters()))
p.WithSearchFilters(object.NewSearchFiltersFromV2(body.GetFilters()))
return p, nil
}

View file

@ -4,11 +4,9 @@ import (
"errors"
"fmt"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
)
// HeadReceiver is an interface of entity that can receive
@ -16,7 +14,7 @@ import (
type HeadReceiver interface {
// Head must return one of:
// * object header (*object.Object);
// * structured information about split-chain (*objectSDK.SplitInfo).
// * structured information about split-chain (*object.SplitInfo).
Head(*addressSDK.Address) (interface{}, error)
}
@ -88,7 +86,7 @@ func traverseSplitChain(r HeadReceiver, addr *addressSDK.Address, h SplitMemberH
panic(fmt.Sprintf("unexpected result of %T: %T", r, v))
case *object.Object:
return h(res, false), nil
case *objectSDK.SplitInfo:
case *object.SplitInfo:
switch {
default:
return false, errors.New("lack of split information")