[#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:
parent
19ad349b27
commit
7ccd1625af
100 changed files with 847 additions and 965 deletions
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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())
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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()
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue