[#1131] *: Adopt SDK changes

`object.Address` has been moved to `object/address`
`object.ID` has been moved to `object/id`

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
This commit is contained in:
Pavel Karpy 2022-01-26 15:11:13 +03:00 committed by Alex Vanin
parent 1c821d6c36
commit 1667ec9e6d
139 changed files with 650 additions and 560 deletions

View file

@ -11,6 +11,8 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/eacl"
"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"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-sdk-go/version"
)
@ -305,7 +307,7 @@ type PutObjectRes struct {
}
// ID returns identifier of the created object.
func (x PutObjectRes) ID() *object.ID {
func (x PutObjectRes) ID() *oidSDK.ID {
return x.cliRes.ID()
}
@ -338,7 +340,7 @@ type DeleteObjectRes struct {
}
// TombstoneAddress returns address of the created object with tombstone.
func (x DeleteObjectRes) TombstoneAddress() *object.Address {
func (x DeleteObjectRes) TombstoneAddress() *addressSDK.Address {
return x.cliRes.TombstoneAddress()
}
@ -464,7 +466,7 @@ type SearchObjectsRes struct {
}
// IDList returns identifiers of the matched objects.
func (x SearchObjectsRes) IDList() []*object.ID {
func (x SearchObjectsRes) IDList() []*oidSDK.ID {
return x.cliRes.IDList()
}

View file

@ -5,7 +5,7 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/client"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"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"
"github.com/nspcc-dev/neofs-sdk-go/token"
)
@ -49,10 +49,10 @@ func (x *bearerTokenPrm) SetBearerToken(tok *token.BearerToken) {
}
type objectAddressPrm struct {
objAddr *object.Address
objAddr *addressSDK.Address
}
func (x *objectAddressPrm) SetAddress(addr *object.Address) {
func (x *objectAddressPrm) SetAddress(addr *addressSDK.Address) {
x.objAddr = addr
}

View file

@ -11,7 +11,7 @@ import (
ircontrolsrv "github.com/nspcc-dev/neofs-node/pkg/services/control/ir/server"
controlSvc "github.com/nspcc-dev/neofs-node/pkg/services/control/server"
"github.com/nspcc-dev/neofs-sdk-go/client"
"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/util/signature"
"github.com/spf13/cobra"
"github.com/spf13/viper"
@ -325,7 +325,7 @@ var dropObjectsCmd = &cobra.Command{
binAddrList := make([][]byte, 0, len(dropObjectsList))
for i := range dropObjectsList {
a := object.NewAddress()
a := addressSDK.NewAddress()
err := a.Parse(dropObjectsList[i])
if err != nil {

View file

@ -17,6 +17,8 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/checksum"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"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-sdk-go/owner"
"github.com/nspcc-dev/neofs-sdk-go/session"
"github.com/nspcc-dev/neofs-sdk-go/token"
@ -669,7 +671,7 @@ func parseSearchFilters(cmd *cobra.Command) (object.SearchFilters, error) {
oid, _ := cmd.Flags().GetString(searchOIDFlag)
if oid != "" {
id := object.NewID()
id := oidSDK.NewID()
if err := id.Parse(oid); err != nil {
return nil, fmt.Errorf("could not parse object ID: %w", err)
}
@ -731,8 +733,8 @@ func getCID(cmd *cobra.Command) (*cid.ID, error) {
return id, nil
}
func getOID(cmd *cobra.Command) (*object.ID, error) {
oid := object.NewID()
func getOID(cmd *cobra.Command) (*oidSDK.ID, error) {
oid := oidSDK.NewID()
err := oid.Parse(cmd.Flag("oid").Value.String())
if err != nil {
@ -742,7 +744,7 @@ func getOID(cmd *cobra.Command) (*object.ID, error) {
return oid, nil
}
func getObjectAddress(cmd *cobra.Command) (*object.Address, error) {
func getObjectAddress(cmd *cobra.Command) (*addressSDK.Address, error) {
cid, err := getCID(cmd)
if err != nil {
return nil, err
@ -752,7 +754,7 @@ func getObjectAddress(cmd *cobra.Command) (*object.Address, error) {
return nil, err
}
objAddr := object.NewAddress()
objAddr := addressSDK.NewAddress()
objAddr.SetContainerID(cid)
objAddr.SetObjectID(oid)
return objAddr, nil

View file

@ -9,6 +9,8 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/services/object_manager/storagegroup"
objectSDK "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"
storagegroupAPI "github.com/nspcc-dev/neofs-sdk-go/storagegroup"
"github.com/spf13/cobra"
)
@ -136,7 +138,7 @@ type sgHeadReceiver struct {
prm internalclient.HeadObjectPrm
}
func (c sgHeadReceiver) Head(addr *objectSDK.Address) (interface{}, error) {
func (c sgHeadReceiver) Head(addr *addressSDK.Address) (interface{}, error) {
c.prm.SetAddress(addr)
res, err := internalclient.HeadObject(c.prm)
@ -163,10 +165,10 @@ func putSG(cmd *cobra.Command, _ []string) {
cid, err := getCID(cmd)
exitOnErr(cmd, err)
members := make([]*objectSDK.ID, 0, len(sgMembers))
members := make([]*oidSDK.ID, 0, len(sgMembers))
for i := range sgMembers {
id := objectSDK.NewID()
id := oidSDK.NewID()
err = id.Parse(sgMembers[i])
exitOnErr(cmd, errf("could not parse object ID: %w", err))
@ -207,8 +209,8 @@ func putSG(cmd *cobra.Command, _ []string) {
cmd.Printf(" ID: %s\n CID: %s\n", res.ID(), cid)
}
func getSGID() (*objectSDK.ID, error) {
oid := objectSDK.NewID()
func getSGID() (*oidSDK.ID, error) {
oid := oidSDK.NewID()
err := oid.Parse(sgID)
if err != nil {
return nil, fmt.Errorf("could not parse storage group ID: %w", err)
@ -224,7 +226,7 @@ func getSG(cmd *cobra.Command, _ []string) {
id, err := getSGID()
exitOnErr(cmd, err)
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addr.SetContainerID(cid)
addr.SetObjectID(id)
@ -288,7 +290,7 @@ func delSG(cmd *cobra.Command, _ []string) {
id, err := getSGID()
exitOnErr(cmd, err)
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addr.SetContainerID(cid)
addr.SetObjectID(id)

View file

@ -8,6 +8,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/writecache"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/spf13/cobra"
)
@ -54,7 +55,7 @@ func init() {
}
func objectInspectCmd(cmd *cobra.Command, _ []string) {
addr := object.NewAddress()
addr := addressSDK.NewAddress()
err := addr.Parse(vAddress)
common.ExitOnErr(cmd, common.Errf("invalid address argument: %w", err))

View file

@ -6,7 +6,7 @@ import (
common "github.com/nspcc-dev/neofs-node/cmd/neofs-lens/internal"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/writecache"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/spf13/cobra"
)
@ -40,7 +40,7 @@ var Command = &cobra.Command{
// other targets can be supported
w := cmd.OutOrStderr()
wAddr := func(addr *object.Address) error {
wAddr := func(addr *addressSDK.Address) error {
_, err := io.WriteString(w, addr.String()+"\n")
return err
}

View file

@ -8,7 +8,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine"
"github.com/nspcc-dev/neofs-node/pkg/services/control"
controlSvc "github.com/nspcc-dev/neofs-node/pkg/services/control/server"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"google.golang.org/grpc"
)
@ -33,7 +33,7 @@ func initControlService(c *cfg) {
controlSvc.WithHealthChecker(c),
controlSvc.WithNetMapSource(c.cfgNetmap.wrapper),
controlSvc.WithNodeState(c),
controlSvc.WithDeletedObjectHandler(func(addrList []*object.Address) error {
controlSvc.WithDeletedObjectHandler(func(addrList []*addressSDK.Address) error {
prm := new(engine.DeletePrm).WithAddresses(addrList...)
_, err := c.cfgObject.cfgLocalStorage.localStorage.Delete(prm)

View file

@ -38,7 +38,7 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/client"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
eaclSDK "github.com/nspcc-dev/neofs-sdk-go/eacl"
objectSDK "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/owner"
"github.com/nspcc-dev/neofs-sdk-go/util/signature"
"go.uber.org/zap"
@ -99,7 +99,7 @@ type localObjectInhumer struct {
log *logger.Logger
}
func (r *localObjectInhumer) DeleteObjects(ts *objectSDK.Address, addr ...*objectSDK.Address) {
func (r *localObjectInhumer) DeleteObjects(ts *addressSDK.Address, addr ...*addressSDK.Address) {
prm := new(engine.InhumePrm)
for _, a := range addr {
@ -238,7 +238,7 @@ func initObjectService(c *cfg) {
policerconfig.HeadTimeout(c.appCfg),
),
policer.WithReplicator(repl),
policer.WithRedundantCopyCallback(func(addr *objectSDK.Address) {
policer.WithRedundantCopyCallback(func(addr *addressSDK.Address) {
_, err := ls.Inhume(new(engine.InhumePrm).MarkAsGarbage(addr))
if err != nil {
c.log.Warn("could not inhume mark redundant copy as garbage",

2
go.mod
View file

@ -14,7 +14,7 @@ require (
github.com/nspcc-dev/hrw v1.0.9
github.com/nspcc-dev/neo-go v0.98.0
github.com/nspcc-dev/neofs-api-go/v2 v2.11.2-0.20220127135316-32dd0bb3f9c5
github.com/nspcc-dev/neofs-sdk-go v0.0.0-20220201140258-9414f42aa349
github.com/nspcc-dev/neofs-sdk-go v0.0.0-20220201141054-6a7ba33b59ef
github.com/nspcc-dev/tzhash v1.5.1
github.com/panjf2000/ants/v2 v2.4.0
github.com/paulmach/orb v0.2.2

BIN
go.sum

Binary file not shown.

View file

@ -12,6 +12,7 @@ import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
"github.com/nspcc-dev/neofs-node/pkg/core/netmap"
"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/owner"
"github.com/nspcc-dev/neofs-sdk-go/storagegroup"
)
@ -32,7 +33,7 @@ type cfg struct {
// DeleteHandler is an interface of delete queue processor.
type DeleteHandler interface {
DeleteObjects(*object.Address, ...*object.Address)
DeleteObjects(*addressSDK.Address, ...*addressSDK.Address)
}
var errNilObject = errors.New("object is nil")
@ -158,14 +159,14 @@ func (v *FormatValidator) ValidateContent(o *Object) error {
// mark all objects from tombstone body as removed in storage engine
cid := o.ContainerID()
idList := tombstone.Members()
addrList := make([]*object.Address, 0, len(idList))
addrList := make([]*addressSDK.Address, 0, len(idList))
for _, id := range idList {
if id == nil {
return fmt.Errorf("(%T) empty member in tombstone", v)
}
a := object.NewAddress()
a := addressSDK.NewAddress()
a.SetContainerID(cid)
a.SetObjectID(id)

View file

@ -12,6 +12,7 @@ import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
"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"
sessiontest "github.com/nspcc-dev/neofs-sdk-go/session/test"
"github.com/nspcc-dev/neofs-sdk-go/storagegroup"
@ -27,8 +28,8 @@ func testSHA(t *testing.T) [sha256.Size]byte {
return cs
}
func testObjectID(t *testing.T) *object.ID {
id := object.NewID()
func testObjectID(t *testing.T) *oidSDK.ID {
id := oidSDK.NewID()
id.SetSHA256(testSHA(t))
return id
@ -118,7 +119,7 @@ func TestFormatValidator_Validate(t *testing.T) {
require.Error(t, v.ValidateContent(obj.Object())) // no tombstone content
content := object.NewTombstone()
content.SetMembers([]*object.ID{nil})
content.SetMembers([]*oidSDK.ID{nil})
data, err := content.Marshal()
require.NoError(t, err)
@ -127,7 +128,7 @@ func TestFormatValidator_Validate(t *testing.T) {
require.Error(t, v.ValidateContent(obj.Object())) // no members in tombstone
content.SetMembers([]*object.ID{testObjectID(t)})
content.SetMembers([]*oidSDK.ID{testObjectID(t)})
data, err = content.Marshal()
require.NoError(t, err)
@ -160,7 +161,7 @@ func TestFormatValidator_Validate(t *testing.T) {
require.Error(t, v.ValidateContent(obj.Object()))
content := storagegroup.New()
content.SetMembers([]*object.ID{nil})
content.SetMembers([]*oidSDK.ID{nil})
data, err := content.Marshal()
require.NoError(t, err)
@ -169,7 +170,7 @@ func TestFormatValidator_Validate(t *testing.T) {
require.Error(t, v.ValidateContent(obj.Object()))
content.SetMembers([]*object.ID{testObjectID(t)})
content.SetMembers([]*oidSDK.ID{testObjectID(t)})
data, err = content.Marshal()
require.NoError(t, err)

View file

@ -4,6 +4,7 @@ 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-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// Object represents the NeoFS object.
@ -16,13 +17,13 @@ type Object struct {
}
// Address returns address of the object.
func (o *Object) Address() *object.Address {
func (o *Object) Address() *addressSDK.Address {
if o != nil {
aV2 := new(refs.Address)
aV2.SetObjectID(o.ID().ToV2())
aV2.SetContainerID(o.ContainerID().ToV2())
return object.NewAddressFromV2(aV2)
return addressSDK.NewAddressFromV2(aV2)
}
return nil

View file

@ -11,6 +11,8 @@ import (
apistatus "github.com/nspcc-dev/neofs-sdk-go/client/status"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
oid "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
// Client represents NeoFS API client cut down to the needs of a purely IR application.
@ -48,7 +50,7 @@ type SearchSGRes struct {
}
// IDList returns list of IDs of storage groups in container.
func (x SearchSGRes) IDList() []*object.ID {
func (x SearchSGRes) IDList() []*oid.ID {
return x.cliRes.IDList()
}
@ -163,7 +165,7 @@ func (x Client) HeadObject(prm HeadObjectPrm) (res HeadObjectRes, err error) {
// GetObjectPayload reads object by address from NeoFS via Client and returns its payload.
//
// Returns any error prevented the operation from completing correctly in error return.
func GetObjectPayload(ctx context.Context, c Client, addr *object.Address) ([]byte, error) {
func GetObjectPayload(ctx context.Context, c Client, addr *addressSDK.Address) ([]byte, error) {
var prm GetObjectPrm
prm.SetContext(ctx)
@ -177,7 +179,7 @@ func GetObjectPayload(ctx context.Context, c Client, addr *object.Address) ([]by
return obj.Object().Payload(), nil
}
func headObject(ctx context.Context, c Client, addr *object.Address, raw bool, ttl uint32) (*object.Object, error) {
func headObject(ctx context.Context, c Client, addr *addressSDK.Address, raw bool, ttl uint32) (*object.Object, error) {
var prm HeadObjectPrm
prm.SetContext(ctx)
@ -197,13 +199,13 @@ func headObject(ctx context.Context, c Client, addr *object.Address, raw bool, t
}
// GetRawObjectHeaderLocally reads raw short object header from server's local storage by address via Client.
func GetRawObjectHeaderLocally(ctx context.Context, c Client, addr *object.Address) (*object.Object, error) {
func GetRawObjectHeaderLocally(ctx context.Context, c Client, addr *addressSDK.Address) (*object.Object, error) {
return headObject(ctx, c, addr, true, 1)
}
// GetObjectHeaderFromContainer reads short object header by address via Client with TTL = 10
// for deep traversal of the container.
func GetObjectHeaderFromContainer(ctx context.Context, c Client, addr *object.Address) (*object.Object, error) {
func GetObjectHeaderFromContainer(ctx context.Context, c Client, addr *addressSDK.Address) (*object.Object, error) {
return headObject(ctx, c, addr, false, 10)
}
@ -265,7 +267,7 @@ func (x Client) HashPayloadRange(prm HashPayloadRangePrm) (res HashPayloadRangeR
// from the remote server's local storage via Client.
//
// Returns any error prevented the operation from completing correctly in error return.
func HashObjectRange(ctx context.Context, c Client, addr *object.Address, rng *object.Range) ([]byte, error) {
func HashObjectRange(ctx context.Context, c Client, addr *addressSDK.Address, rng *object.Range) ([]byte, error) {
var prm HashPayloadRangePrm
prm.SetContext(ctx)

View file

@ -3,7 +3,7 @@ package neofsapiclient
import (
"context"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
type contextPrm struct {
@ -16,11 +16,11 @@ func (x *contextPrm) SetContext(ctx context.Context) {
}
type objectAddressPrm struct {
objAddr *object.Address
objAddr *addressSDK.Address
}
// SetAddress sets address of the object.
func (x *objectAddressPrm) SetAddress(addr *object.Address) {
func (x *objectAddressPrm) SetAddress(addr *addressSDK.Address) {
x.objAddr = addr
}

View file

@ -10,7 +10,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util/rand"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"go.uber.org/zap"
)
@ -107,8 +107,8 @@ func (ap *Processor) processStartAudit(epoch uint64) {
}
}
func (ap *Processor) findStorageGroups(cid *cid.ID, shuffled netmap.Nodes) []*object.ID {
var sg []*object.ID
func (ap *Processor) findStorageGroups(cid *cid.ID, shuffled netmap.Nodes) []*oidSDK.ID {
var sg []*oidSDK.ID
ln := len(shuffled)

View file

@ -13,7 +13,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/morph/event"
"github.com/nspcc-dev/neofs-node/pkg/services/audit"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/panjf2000/ants/v2"
"go.uber.org/zap"
)
@ -89,11 +89,11 @@ func (x SearchSGPrm) NodeInfo() client.NodeInfo {
// SearchSGDst groups target values which Processor expects from SG searching to process.
type SearchSGDst struct {
ids []*object.ID
ids []*oidSDK.ID
}
// WriteIDList writes list of identifiers of storage group objects stored in the container.
func (x *SearchSGDst) WriteIDList(ids []*object.ID) {
func (x *SearchSGDst) WriteIDList(ids []*oidSDK.ID) {
x.ids = ids
}

View file

@ -12,7 +12,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
"github.com/nspcc-dev/neofs-sdk-go/audit"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"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/owner"
"go.uber.org/zap"
)
@ -213,7 +213,7 @@ func (c *Calculator) sumSGSizes(ctx *singleResultCtx) bool {
sumPassSGSize := uint64(0)
addr := object.NewAddress()
addr := addressSDK.NewAddress()
addr.SetContainerID(ctx.containerID())
for _, sgID := range ctx.auditResult.PassSG() {

View file

@ -3,7 +3,7 @@ package audit
import (
"github.com/nspcc-dev/neofs-node/pkg/innerring/processors/settlement/common"
"github.com/nspcc-dev/neofs-sdk-go/audit"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// CalculatorPrm groups the parameters of Calculator's constructor.
@ -39,7 +39,7 @@ type SGInfo interface {
// SGStorage is an interface of storage of the storage groups.
type SGStorage interface {
// Must return information about the storage group by address.
SGInfo(*object.Address) (SGInfo, error)
SGInfo(*addressSDK.Address) (SGInfo, error)
}
// FeeFetcher wraps AuditFee method that returns audit fee price from

View file

@ -16,6 +16,8 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/client"
"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"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/neofs-sdk-go/storagegroup"
"go.uber.org/zap"
)
@ -59,15 +61,15 @@ func (c *ClientCache) Get(info clientcore.NodeInfo) (clientcore.Client, error) {
// GetSG polls the container from audit task to get the object by id.
// Returns storage groups structure from received object.
func (c *ClientCache) GetSG(task *audit.Task, id *object.ID) (*storagegroup.StorageGroup, error) {
sgAddress := new(object.Address)
func (c *ClientCache) GetSG(task *audit.Task, id *oidSDK.ID) (*storagegroup.StorageGroup, error) {
sgAddress := new(addressSDK.Address)
sgAddress.SetContainerID(task.ContainerID())
sgAddress.SetObjectID(id)
return c.getSG(task.AuditContext(), sgAddress, task.NetworkMap(), task.ContainerNodes())
}
func (c *ClientCache) getSG(ctx context.Context, addr *object.Address, nm *netmap.Netmap, cn netmap.ContainerNodes) (*storagegroup.StorageGroup, error) {
func (c *ClientCache) getSG(ctx context.Context, addr *addressSDK.Address, nm *netmap.Netmap, cn netmap.ContainerNodes) (*storagegroup.StorageGroup, error) {
nodes, err := placement.BuildObjectPlacement(nm, cn, addr.ObjectID())
if err != nil {
return nil, fmt.Errorf("can't build object placement: %w", err)
@ -121,8 +123,8 @@ func (c *ClientCache) getSG(ctx context.Context, addr *object.Address, nm *netma
}
// GetHeader requests node from the container under audit to return object header by id.
func (c *ClientCache) GetHeader(task *audit.Task, node *netmap.Node, id *object.ID, relay bool) (*object.Object, error) {
objAddress := new(object.Address)
func (c *ClientCache) GetHeader(task *audit.Task, node *netmap.Node, id *oidSDK.ID, relay bool) (*object.Object, error) {
objAddress := new(addressSDK.Address)
objAddress.SetContainerID(task.ContainerID())
objAddress.SetObjectID(id)
@ -160,8 +162,8 @@ func (c *ClientCache) GetHeader(task *audit.Task, node *netmap.Node, id *object.
// GetRangeHash requests node from the container under audit to return Tillich-Zemor hash of the
// payload range of the object with specified identifier.
func (c *ClientCache) GetRangeHash(task *audit.Task, node *netmap.Node, id *object.ID, rng *object.Range) ([]byte, error) {
objAddress := new(object.Address)
func (c *ClientCache) GetRangeHash(task *audit.Task, node *netmap.Node, id *oidSDK.ID, rng *object.Range) ([]byte, error) {
objAddress := new(addressSDK.Address)
objAddress.SetContainerID(task.ContainerID())
objAddress.SetObjectID(id)

View file

@ -22,7 +22,7 @@ import (
containerAPI "github.com/nspcc-dev/neofs-sdk-go/container"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
netmapAPI "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"
"github.com/nspcc-dev/neofs-sdk-go/owner"
"github.com/nspcc-dev/neofs-sdk-go/storagegroup"
"go.uber.org/zap"
@ -167,7 +167,7 @@ func (s settlementDeps) ContainerNodes(e uint64, cid *cid.ID) ([]common.NodeInfo
return res, nil
}
func (s settlementDeps) SGInfo(addr *object.Address) (audit.SGInfo, error) {
func (s settlementDeps) SGInfo(addr *addressSDK.Address) (audit.SGInfo, error) {
cn, nm, err := s.buildContainer(0, addr.ContainerID())
if err != nil {
return nil, err

View file

@ -11,8 +11,9 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/util/logger/test"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/address/test"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/stretchr/testify/require"
)
@ -22,18 +23,18 @@ func testSHA256() (h [sha256.Size]byte) {
return h
}
func testAddress() *objectSDK.Address {
oid := objectSDK.NewID()
func testAddress() *addressSDK.Address {
oid := oidSDK.NewID()
oid.SetSHA256(testSHA256())
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addr.SetObjectID(oid)
addr.SetContainerID(cidtest.ID())
return addr
}
func testPutGet(t *testing.T, blz *Blobovnicza, sz uint64, expPut, expGet error) *objectSDK.Address {
func testPutGet(t *testing.T, blz *Blobovnicza, sz uint64, expPut, expGet error) *addressSDK.Address {
// create binary object
data := make([]byte, sz)
@ -55,7 +56,7 @@ func testPutGet(t *testing.T, blz *Blobovnicza, sz uint64, expPut, expGet error)
return addr
}
func testGet(t *testing.T, blz *Blobovnicza, addr *objectSDK.Address, expObj []byte, expErr error) {
func testGet(t *testing.T, blz *Blobovnicza, addr *addressSDK.Address, expObj []byte, expErr error) {
pGet := new(GetPrm)
pGet.SetAddress(addr)

View file

@ -2,14 +2,14 @@ package blobovnicza
import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
"go.uber.org/zap"
)
// DeletePrm groups the parameters of Delete operation.
type DeletePrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// DeleteRes groups resulting values of Delete operation.
@ -17,7 +17,7 @@ type DeleteRes struct {
}
// SetAddress sets address of the requested object.
func (p *DeletePrm) SetAddress(addr *objectSDK.Address) {
func (p *DeletePrm) SetAddress(addr *addressSDK.Address) {
p.addr = addr
}

View file

@ -2,14 +2,14 @@ package blobovnicza
import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
"go.uber.org/zap"
)
// GetPrm groups the parameters of Get operation.
type GetPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// GetRes groups resulting values of Get operation.
@ -18,7 +18,7 @@ type GetRes struct {
}
// SetAddress sets address of the requested object.
func (p *GetPrm) SetAddress(addr *objectSDK.Address) {
func (p *GetPrm) SetAddress(addr *addressSDK.Address) {
p.addr = addr
}

View file

@ -5,11 +5,12 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// GetRangePrm groups the parameters of GetRange operation.
type GetRangePrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
rng *objectSDK.Range
}
@ -20,7 +21,7 @@ type GetRangeRes struct {
}
// SetAddress sets address of the requested object.
func (p *GetRangePrm) SetAddress(addr *objectSDK.Address) {
func (p *GetRangePrm) SetAddress(addr *addressSDK.Address) {
p.addr = addr
}

View file

@ -3,7 +3,7 @@ package blobovnicza
import (
"fmt"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
@ -57,7 +57,7 @@ func max(a, b uint64) uint64 {
// IterationElement represents a unit of elements through which Iterate operation passes.
type IterationElement struct {
addr *object.Address
addr *addressSDK.Address
data []byte
}
@ -68,7 +68,7 @@ func (x IterationElement) ObjectData() []byte {
}
// Address returns address of the stored object.
func (x IterationElement) Address() *object.Address {
func (x IterationElement) Address() *addressSDK.Address {
return x.addr
}
@ -125,7 +125,7 @@ func (b *Blobovnicza) Iterate(prm IteratePrm) (*IterateRes, error) {
return buck.ForEach(func(k, v []byte) error {
if prm.decodeAddresses {
if elem.addr == nil {
elem.addr = object.NewAddress()
elem.addr = addressSDK.NewAddress()
}
if err := addressFromKey(elem.addr, k); err != nil {
@ -164,7 +164,7 @@ func IterateObjects(blz *Blobovnicza, f func([]byte) error) error {
}
// IterateAddresses is a helper function which iterates over Blobovnicza and passes addresses of the objects to f.
func IterateAddresses(blz *Blobovnicza, f func(*object.Address) error) error {
func IterateAddresses(blz *Blobovnicza, f func(*addressSDK.Address) error) error {
var prm IteratePrm
prm.DecodeAddresses()

View file

@ -6,7 +6,7 @@ import (
"testing"
"github.com/nspcc-dev/neo-go/pkg/util/slice"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/address/test"
"github.com/stretchr/testify/require"
"go.etcd.io/bbolt"
)

View file

@ -4,13 +4,13 @@ import (
"errors"
"fmt"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// PutPrm groups the parameters of Put operation.
type PutPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
objData []byte
}
@ -26,7 +26,7 @@ var ErrFull = errors.New("blobovnicza is full")
var errNilAddress = errors.New("object address is nil")
// SetAddress sets address of saving object.
func (p *PutPrm) SetAddress(addr *objectSDK.Address) {
func (p *PutPrm) SetAddress(addr *addressSDK.Address) {
p.addr = addr
}
@ -86,10 +86,10 @@ func (b *Blobovnicza) Put(prm *PutPrm) (*PutRes, error) {
return nil, err
}
func addressKey(addr *objectSDK.Address) []byte {
func addressKey(addr *addressSDK.Address) []byte {
return []byte(addr.String())
}
func addressFromKey(dst *objectSDK.Address, data []byte) error {
func addressFromKey(dst *addressSDK.Address, data []byte) error {
return dst.Parse(string(data))
}

View file

@ -13,7 +13,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
storagelog "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/internal/log"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
@ -132,7 +132,7 @@ func indexSlice(number uint64) []uint64 {
// save object in the maximum weight blobobnicza.
//
// returns error if could not save object in any blobovnicza.
func (b *blobovniczas) put(addr *objectSDK.Address, data []byte) (*blobovnicza.ID, error) {
func (b *blobovniczas) put(addr *addressSDK.Address, data []byte) (*blobovnicza.ID, error) {
prm := new(blobovnicza.PutPrm)
prm.SetAddress(addr)
prm.SetMarshaledObject(data)
@ -648,7 +648,7 @@ func (b *blobovniczas) iterateBlobovniczas(ignoreErrors bool, f func(string, *bl
}
// iterator over the paths of blobovniczas sorted by weight.
func (b *blobovniczas) iterateSortedLeaves(addr *objectSDK.Address, f func(string) (bool, error)) error {
func (b *blobovniczas) iterateSortedLeaves(addr *addressSDK.Address, f func(string) (bool, error)) error {
_, err := b.iterateSorted(
addr,
make([]string, 0, b.blzShallowDepth),
@ -660,7 +660,7 @@ func (b *blobovniczas) iterateSortedLeaves(addr *objectSDK.Address, f func(strin
}
// iterator over directories with blobovniczas sorted by weight.
func (b *blobovniczas) iterateDeepest(addr *objectSDK.Address, f func(string) (bool, error)) error {
func (b *blobovniczas) iterateDeepest(addr *addressSDK.Address, f func(string) (bool, error)) error {
depth := b.blzShallowDepth
if depth > 0 {
depth--
@ -677,7 +677,7 @@ func (b *blobovniczas) iterateDeepest(addr *objectSDK.Address, f func(string) (b
}
// iterator over particular level of directories.
func (b *blobovniczas) iterateSorted(addr *objectSDK.Address, curPath []string, execDepth uint64, f func([]string) (bool, error)) (bool, error) {
func (b *blobovniczas) iterateSorted(addr *addressSDK.Address, curPath []string, execDepth uint64, f func([]string) (bool, error)) (bool, error) {
indices := indexSlice(b.blzShallowWidth)
hrw.SortSliceByValue(indices, addressHash(addr, filepath.Join(curPath...)))
@ -906,7 +906,7 @@ func (b *blobovniczas) openBlobovnicza(p string) (*blobovnicza.Blobovnicza, erro
}
// returns hash of the object address.
func addressHash(addr *objectSDK.Address, path string) uint64 {
func addressHash(addr *addressSDK.Address, path string) uint64 {
var a string
if addr != nil {

View file

@ -11,6 +11,8 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util/logger/test"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "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/stretchr/testify/require"
)
@ -20,11 +22,11 @@ func testSHA256() (h [sha256.Size]byte) {
return h
}
func testAddress() *objectSDK.Address {
oid := objectSDK.NewID()
func testAddress() *addressSDK.Address {
oid := oidSDK.NewID()
oid.SetSHA256(testSHA256())
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addr.SetObjectID(oid)
addr.SetContainerID(cidtest.ID())
@ -84,7 +86,7 @@ func TestBlobovniczas(t *testing.T) {
objSz := uint64(szLim / 2)
addrList := make([]*objectSDK.Address, 0)
addrList := make([]*addressSDK.Address, 0)
minFitObjNum := width * depth * szLim / objSz
for i := uint64(0); i < minFitObjNum; i++ {

View file

@ -4,7 +4,7 @@ import (
"errors"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// ExistsPrm groups the parameters of Exists operation.
@ -46,7 +46,7 @@ func (b *BlobStor) Exists(prm *ExistsPrm) (*ExistsRes, error) {
}
// checks if object is presented in shallow dir.
func (b *BlobStor) existsBig(addr *object.Address) (bool, error) {
func (b *BlobStor) existsBig(addr *addressSDK.Address) (bool, error) {
_, err := b.fsTree.Exists(addr)
if errors.Is(err, fstree.ErrFileNotFound) {
return false, nil
@ -56,7 +56,7 @@ func (b *BlobStor) existsBig(addr *object.Address) (bool, error) {
}
// checks if object is presented in blobovnicza.
func (b *BlobStor) existsSmall(addr *object.Address) (bool, error) {
func (b *BlobStor) existsSmall(_ *addressSDK.Address) (bool, error) {
// TODO: implement
return false, nil
}

View file

@ -11,7 +11,8 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "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"
)
// FSTree represents object storage as filesystem tree.
@ -41,17 +42,17 @@ const (
// ErrFileNotFound is returned when file is missing.
var ErrFileNotFound = errors.New("file not found")
func stringifyAddress(addr *objectSDK.Address) string {
func stringifyAddress(addr *addressSDK.Address) string {
return addr.ObjectID().String() + "." + addr.ContainerID().String()
}
func addressFromString(s string) (*objectSDK.Address, error) {
func addressFromString(s string) (*addressSDK.Address, error) {
ss := strings.SplitN(s, ".", 2)
if len(ss) != 2 {
return nil, errors.New("invalid address")
}
oid := objectSDK.NewID()
oid := oidSDK.NewID()
if err := oid.Parse(ss[0]); err != nil {
return nil, err
}
@ -61,7 +62,7 @@ func addressFromString(s string) (*objectSDK.Address, error) {
return nil, err
}
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addr.SetObjectID(oid)
addr.SetContainerID(id)
@ -70,12 +71,12 @@ func addressFromString(s string) (*objectSDK.Address, error) {
// IterationPrm contains iteraction parameters.
type IterationPrm struct {
handler func(addr *objectSDK.Address, data []byte) error
handler func(addr *addressSDK.Address, data []byte) error
ignoreErrors bool
}
// WithHandler sets a function to call on each object.
func (p *IterationPrm) WithHandler(f func(addr *objectSDK.Address, data []byte) error) *IterationPrm {
func (p *IterationPrm) WithHandler(f func(addr *addressSDK.Address, data []byte) error) *IterationPrm {
p.handler = f
return p
}
@ -143,7 +144,7 @@ func (t *FSTree) iterate(depth int, curPath []string, prm *IterationPrm) error {
return nil
}
func (t *FSTree) treePath(addr *objectSDK.Address) string {
func (t *FSTree) treePath(addr *addressSDK.Address) string {
sAddr := stringifyAddress(addr)
dirs := make([]string, 0, t.Depth+1+1) // 1 for root, 1 for file
@ -160,7 +161,7 @@ func (t *FSTree) treePath(addr *objectSDK.Address) string {
}
// Delete removes object with the specified address from storage.
func (t *FSTree) Delete(addr *objectSDK.Address) error {
func (t *FSTree) Delete(addr *addressSDK.Address) error {
p, err := t.Exists(addr)
if err != nil {
return err
@ -171,7 +172,7 @@ func (t *FSTree) Delete(addr *objectSDK.Address) error {
// Exists returns path to file with object contents if it exists in storage
// and an error otherwise.
func (t *FSTree) Exists(addr *objectSDK.Address) (string, error) {
func (t *FSTree) Exists(addr *addressSDK.Address) (string, error) {
p := t.treePath(addr)
_, err := os.Stat(p)
@ -183,7 +184,7 @@ func (t *FSTree) Exists(addr *objectSDK.Address) (string, error) {
}
// Put puts object in storage.
func (t *FSTree) Put(addr *objectSDK.Address, data []byte) error {
func (t *FSTree) Put(addr *addressSDK.Address, data []byte) error {
p := t.treePath(addr)
if err := util.MkdirAllX(filepath.Dir(p), t.Permissions); err != nil {
@ -194,7 +195,7 @@ func (t *FSTree) Put(addr *objectSDK.Address, data []byte) error {
}
// Get returns object from storage by address.
func (t *FSTree) Get(addr *objectSDK.Address) ([]byte, error) {
func (t *FSTree) Get(addr *addressSDK.Address) ([]byte, error) {
p := t.treePath(addr)
if _, err := os.Stat(p); os.IsNotExist(err) {

View file

@ -10,23 +10,24 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/address/test"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/stretchr/testify/require"
)
func testOID() *objectSDK.ID {
func testOID() *oidSDK.ID {
cs := [sha256.Size]byte{}
_, _ = rand.Read(cs[:])
id := objectSDK.NewID()
id := oidSDK.NewID()
id.SetSHA256(cs)
return id
}
func testAddress() *objectSDK.Address {
a := objectSDK.NewAddress()
func testAddress() *addressSDK.Address {
a := addressSDK.NewAddress()
a.SetObjectID(testOID())
a.SetContainerID(cidtest.ID())
@ -56,7 +57,7 @@ func TestFSTree(t *testing.T) {
}
const count = 3
var addrs []*objectSDK.Address
var addrs []*addressSDK.Address
store := map[string][]byte{}
@ -93,7 +94,7 @@ func TestFSTree(t *testing.T) {
t.Run("iterate", func(t *testing.T) {
n := 0
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
n++
expected, ok := store[addr.String()]
require.True(t, ok, "object %s was not found", addr.String())
@ -107,7 +108,7 @@ func TestFSTree(t *testing.T) {
t.Run("leave early", func(t *testing.T) {
n := 0
errStop := errors.New("stop")
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
if n++; n == count-1 {
return errStop
}
@ -134,7 +135,7 @@ func TestFSTree(t *testing.T) {
require.NoError(t, util.MkdirAllX(filepath.Dir(p), fs.Permissions))
require.NoError(t, os.WriteFile(p, []byte{1, 2, 3}, fs.Permissions))
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
n++
return nil
}).WithIgnoreErrors(true))
@ -144,7 +145,7 @@ func TestFSTree(t *testing.T) {
t.Run("error from handler is returned", func(t *testing.T) {
expectedErr := errors.New("expected error")
n := 0
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
err := fs.Iterate(new(IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
n++
if n == count/2 { // process some iterations
return expectedErr

View file

@ -6,7 +6,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// IterationElement represents a unit of elements through which Iterate operation passes.
@ -88,7 +88,7 @@ func (b *BlobStor) Iterate(prm IteratePrm) (*IterateRes, error) {
elem.blzID = nil
err = b.fsTree.Iterate(new(fstree.IterationPrm).WithHandler(func(_ *objectSDK.Address, data []byte) error {
err = b.fsTree.Iterate(new(fstree.IterationPrm).WithHandler(func(_ *addressSDK.Address, data []byte) error {
// decompress the data
elem.data, err = b.decompressor(data)
if err != nil {

View file

@ -10,9 +10,10 @@ import (
"testing"
"github.com/klauspost/compress/zstd"
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-sdk-go/object"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/address/test"
"github.com/stretchr/testify/require"
)
@ -44,7 +45,7 @@ func TestIterateObjects(t *testing.T) {
type addrData struct {
big bool
addr *object.Address
addr *addressSDK.Address
data []byte
}
@ -113,7 +114,7 @@ func TestIterate_IgnoreErrors(t *testing.T) {
require.NoError(t, bs.Open())
require.NoError(t, bs.Init())
addrs := make([]*object.Address, objCount)
addrs := make([]*addressSDK.Address, objCount)
for i := range addrs {
addrs[i] = objecttest.Address()
obj := object.NewRaw()
@ -170,7 +171,7 @@ func TestIterate_IgnoreErrors(t *testing.T) {
prm.IgnoreErrors()
t.Run("skip invalid objects", func(t *testing.T) {
actual := make([]*object.Address, 0, len(addrs))
actual := make([]*addressSDK.Address, 0, len(addrs))
prm.SetIterationHandler(func(e IterationElement) error {
obj := object.New()
err := obj.Unmarshal(e.data)
@ -178,7 +179,7 @@ func TestIterate_IgnoreErrors(t *testing.T) {
return err
}
addr := object.NewAddress()
addr := addressSDK.NewAddress()
addr.SetContainerID(obj.ContainerID())
addr.SetObjectID(obj.ID())
actual = append(actual, addr)

View file

@ -7,6 +7,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
storagelog "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/internal/log"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// PutPrm groups the parameters of Put operation.
@ -69,7 +70,7 @@ func (b *BlobStor) NeedsCompression(obj *object.Object) bool {
}
// PutRaw saves already marshaled object in BLOB storage.
func (b *BlobStor) PutRaw(addr *objectSDK.Address, data []byte, compress bool) (*PutRes, error) {
func (b *BlobStor) PutRaw(addr *addressSDK.Address, data []byte, compress bool) (*PutRes, error) {
big := b.isBig(data)
if compress {

View file

@ -4,14 +4,15 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
type address struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// SetAddress sets the address of the requested object.
func (a *address) SetAddress(addr *objectSDK.Address) {
func (a *address) SetAddress(addr *addressSDK.Address) {
a.addr = addr
}

View file

@ -2,12 +2,12 @@ package engine
import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// DeletePrm groups the parameters of Delete operation.
type DeletePrm struct {
addr []*objectSDK.Address
addr []*addressSDK.Address
}
// DeleteRes groups resulting values of Delete operation.
@ -16,7 +16,7 @@ type DeleteRes struct{}
// WithAddresses is a Delete option to set the addresses of the objects to delete.
//
// Option is required.
func (p *DeletePrm) WithAddresses(addr ...*objectSDK.Address) *DeletePrm {
func (p *DeletePrm) WithAddresses(addr ...*addressSDK.Address) *DeletePrm {
if p != nil {
p.addr = append(p.addr, addr...)
}

View file

@ -17,6 +17,7 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/checksum"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "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"
ownertest "github.com/nspcc-dev/neofs-sdk-go/owner/test"
"github.com/nspcc-dev/neofs-sdk-go/version"
@ -77,11 +78,11 @@ func testNewShard(t *testing.T, id int) *shard.Shard {
return s
}
func testOID() *objectSDK.ID {
func testOID() *oidSDK.ID {
cs := [sha256.Size]byte{}
_, _ = rand.Read(cs[:])
id := objectSDK.NewID()
id := oidSDK.NewID()
id.SetSHA256(cs)
return id

View file

@ -5,10 +5,10 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
func (e *StorageEngine) exists(addr *objectSDK.Address) (bool, error) {
func (e *StorageEngine) exists(addr *addressSDK.Address) (bool, error) {
shPrm := new(shard.ExistsPrm).WithAddress(addr)
alreadyRemoved := false
exists := false

View file

@ -7,11 +7,12 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// GetPrm groups the parameters of Get operation.
type GetPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// GetRes groups resulting values of Get operation.
@ -22,7 +23,7 @@ type GetRes struct {
// WithAddress is a Get option to set the address of the requested object.
//
// Option is required.
func (p *GetPrm) WithAddress(addr *objectSDK.Address) *GetPrm {
func (p *GetPrm) WithAddress(addr *addressSDK.Address) *GetPrm {
if p != nil {
p.addr = addr
}
@ -118,7 +119,7 @@ func (e *StorageEngine) get(prm *GetPrm) (*GetRes, error) {
}
// Get reads object from local storage by provided address.
func Get(storage *StorageEngine, addr *objectSDK.Address) (*object.Object, error) {
func Get(storage *StorageEngine, addr *addressSDK.Address) (*object.Object, error) {
res, err := storage.Get(new(GetPrm).
WithAddress(addr),
)

View file

@ -7,11 +7,12 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// HeadPrm groups the parameters of Head operation.
type HeadPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
raw bool
}
@ -23,7 +24,7 @@ type HeadRes struct {
// WithAddress is a Head option to set the address of the requested object.
//
// Option is required.
func (p *HeadPrm) WithAddress(addr *objectSDK.Address) *HeadPrm {
func (p *HeadPrm) WithAddress(addr *addressSDK.Address) *HeadPrm {
if p != nil {
p.addr = addr
}
@ -134,7 +135,7 @@ func (e *StorageEngine) head(prm *HeadPrm) (*HeadRes, error) {
}
// Head reads object header from local storage by provided address.
func Head(storage *StorageEngine, addr *objectSDK.Address) (*object.Object, error) {
func Head(storage *StorageEngine, addr *addressSDK.Address) (*object.Object, error) {
res, err := storage.Head(new(HeadPrm).
WithAddress(addr),
)
@ -147,7 +148,7 @@ func Head(storage *StorageEngine, addr *objectSDK.Address) (*object.Object, erro
// HeadRaw reads object header from local storage by provided address and raw
// flag.
func HeadRaw(storage *StorageEngine, addr *objectSDK.Address, raw bool) (*object.Object, error) {
func HeadRaw(storage *StorageEngine, addr *addressSDK.Address, raw bool) (*object.Object, error) {
res, err := storage.Head(new(HeadPrm).
WithAddress(addr).
WithRaw(raw),

View file

@ -7,6 +7,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/stretchr/testify/require"
)
@ -19,7 +20,7 @@ func TestHeadRaw(t *testing.T) {
parent := generateRawObjectWithCID(t, cid)
addAttribute(parent, "foo", "bar")
parentAddr := objectSDK.NewAddress()
parentAddr := addressSDK.NewAddress()
parentAddr.SetContainerID(cid)
parentAddr.SetObjectID(parent.ID())

View file

@ -7,12 +7,13 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// InhumePrm encapsulates parameters for inhume operation.
type InhumePrm struct {
tombstone *objectSDK.Address
addrs []*objectSDK.Address
tombstone *addressSDK.Address
addrs []*addressSDK.Address
}
// InhumeRes encapsulates results of inhume operation.
@ -23,7 +24,7 @@ type InhumeRes struct{}
//
// tombstone should not be nil, addr should not be empty.
// Should not be called along with MarkAsGarbage.
func (p *InhumePrm) WithTarget(tombstone *objectSDK.Address, addrs ...*objectSDK.Address) *InhumePrm {
func (p *InhumePrm) WithTarget(tombstone *addressSDK.Address, addrs ...*addressSDK.Address) *InhumePrm {
if p != nil {
p.addrs = addrs
p.tombstone = tombstone
@ -35,7 +36,7 @@ func (p *InhumePrm) WithTarget(tombstone *objectSDK.Address, addrs ...*objectSDK
// MarkAsGarbage marks object to be physically removed from local storage.
//
// Should not be called along with WithTarget.
func (p *InhumePrm) MarkAsGarbage(addrs ...*objectSDK.Address) *InhumePrm {
func (p *InhumePrm) MarkAsGarbage(addrs ...*addressSDK.Address) *InhumePrm {
if p != nil {
p.addrs = addrs
p.tombstone = nil
@ -85,7 +86,7 @@ func (e *StorageEngine) inhume(prm *InhumePrm) (*InhumeRes, error) {
return new(InhumeRes), nil
}
func (e *StorageEngine) inhumeAddr(addr *objectSDK.Address, prm *shard.InhumePrm, checkExists bool) (ok bool) {
func (e *StorageEngine) inhumeAddr(addr *addressSDK.Address, prm *shard.InhumePrm, checkExists bool) (ok bool) {
root := false
e.iterateOverSortedShards(addr, func(_ int, sh hashedShard) (stop bool) {
@ -133,7 +134,7 @@ func (e *StorageEngine) inhumeAddr(addr *objectSDK.Address, prm *shard.InhumePrm
return
}
func (e *StorageEngine) processExpiredTombstones(ctx context.Context, addrs []*objectSDK.Address) {
func (e *StorageEngine) processExpiredTombstones(ctx context.Context, addrs []*addressSDK.Address) {
tss := make(map[string]struct{}, len(addrs))
for i := range addrs {

View file

@ -4,7 +4,7 @@ import (
"sort"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// ErrEndOfListing is returned from object listing with cursor
@ -40,12 +40,12 @@ func (p *ListWithCursorPrm) WithCursor(cursor *Cursor) *ListWithCursorPrm {
// ListWithCursorRes contains values returned from ListWithCursor operation.
type ListWithCursorRes struct {
addrList []*object.Address
addrList []*addressSDK.Address
cursor *Cursor
}
// AddressList returns addresses selected by ListWithCursor operation.
func (l ListWithCursorRes) AddressList() []*object.Address {
func (l ListWithCursorRes) AddressList() []*addressSDK.Address {
return l.addrList
}
@ -62,7 +62,7 @@ func (l ListWithCursorRes) Cursor() *Cursor {
// Returns ErrEndOfListing if there are no more objects to return or count
// parameter set to zero.
func (e *StorageEngine) ListWithCursor(prm *ListWithCursorPrm) (*ListWithCursorRes, error) {
result := make([]*object.Address, 0, prm.count)
result := make([]*addressSDK.Address, 0, prm.count)
// 1. Get available shards and sort them.
e.mtx.RLock()

View file

@ -7,7 +7,7 @@ import (
"testing"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/stretchr/testify/require"
)
@ -23,8 +23,8 @@ func TestListWithCursor(t *testing.T) {
const total = 20
expected := make([]*object.Address, 0, total)
got := make([]*object.Address, 0, total)
expected := make([]*addressSDK.Address, 0, total)
got := make([]*addressSDK.Address, 0, total)
for i := 0; i < total; i++ {
containerID := cidtest.ID()
@ -58,7 +58,7 @@ func TestListWithCursor(t *testing.T) {
require.Equal(t, expected, got)
}
func sortAddresses(addr []*object.Address) []*object.Address {
func sortAddresses(addr []*addressSDK.Address) []*addressSDK.Address {
sort.Slice(addr, func(i, j int) bool {
return addr[i].String() < addr[j].String()
})

View file

@ -7,13 +7,14 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// RngPrm groups the parameters of GetRange operation.
type RngPrm struct {
off, ln uint64
addr *objectSDK.Address
addr *addressSDK.Address
}
// RngRes groups resulting values of GetRange operation.
@ -24,7 +25,7 @@ type RngRes struct {
// WithAddress is a GetRng option to set the address of the requested object.
//
// Option is required.
func (p *RngPrm) WithAddress(addr *objectSDK.Address) *RngPrm {
func (p *RngPrm) WithAddress(addr *addressSDK.Address) *RngPrm {
if p != nil {
p.addr = addr
}
@ -139,7 +140,7 @@ func (e *StorageEngine) getRange(prm *RngPrm) (*RngRes, error) {
}
// GetRange reads object payload range from local storage by provided address.
func GetRange(storage *StorageEngine, addr *objectSDK.Address, rng *objectSDK.Range) ([]byte, error) {
func GetRange(storage *StorageEngine, addr *addressSDK.Address, rng *objectSDK.Range) ([]byte, error) {
res, err := storage.GetRange(new(RngPrm).
WithAddress(addr).
WithPayloadRange(rng),

View file

@ -7,6 +7,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// SelectPrm groups the parameters of Select operation.
@ -17,7 +18,7 @@ type SelectPrm struct {
// SelectRes groups resulting values of Select operation.
type SelectRes struct {
addrList []*object.Address
addrList []*addressSDK.Address
}
// WithContainerID is a Select option to set the container id to search in.
@ -39,7 +40,7 @@ func (p *SelectPrm) WithFilters(fs object.SearchFilters) *SelectPrm {
}
// AddressList returns list of addresses of the selected objects.
func (r *SelectRes) AddressList() []*object.Address {
func (r *SelectRes) AddressList() []*addressSDK.Address {
return r.addrList
}
@ -62,7 +63,7 @@ func (e *StorageEngine) _select(prm *SelectPrm) (*SelectRes, error) {
defer elapsed(e.metrics.AddSearchDuration)()
}
addrList := make([]*object.Address, 0)
addrList := make([]*addressSDK.Address, 0)
uniqueMap := make(map[string]struct{})
var outError error
@ -119,7 +120,7 @@ func (e *StorageEngine) list(limit uint64) (*SelectRes, error) {
defer elapsed(e.metrics.AddListObjectsDuration)()
}
addrList := make([]*object.Address, 0, limit)
addrList := make([]*addressSDK.Address, 0, limit)
uniqueMap := make(map[string]struct{})
ln := uint64(0)
@ -151,7 +152,7 @@ func (e *StorageEngine) list(limit uint64) (*SelectRes, error) {
}
// Select selects objects from local storage using provided filters.
func Select(storage *StorageEngine, cid *cid.ID, fs object.SearchFilters) ([]*object.Address, error) {
func Select(storage *StorageEngine, cid *cid.ID, fs object.SearchFilters) ([]*addressSDK.Address, error) {
res, err := storage.Select(new(SelectPrm).
WithContainerID(cid).
WithFilters(fs),
@ -165,7 +166,7 @@ func Select(storage *StorageEngine, cid *cid.ID, fs object.SearchFilters) ([]*ob
// List returns `limit` available physically storage object addresses in
// engine. If limit is zero, then returns all available object addresses.
func List(storage *StorageEngine, limit uint64) ([]*object.Address, error) {
func List(storage *StorageEngine, limit uint64) ([]*addressSDK.Address, error) {
res, err := storage.List(limit)
if err != nil {
return nil, err

View file

@ -7,7 +7,7 @@ import (
"github.com/google/uuid"
"github.com/nspcc-dev/hrw"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/panjf2000/ants/v2"
"go.uber.org/atomic"
)
@ -99,7 +99,7 @@ func (e *StorageEngine) unsortedShards() []hashedShard {
return shards
}
func (e *StorageEngine) iterateOverSortedShards(addr *object.Address, handler func(int, hashedShard) (stop bool)) {
func (e *StorageEngine) iterateOverSortedShards(addr *addressSDK.Address, handler func(int, hashedShard) (stop bool)) {
for i, sh := range e.sortShardsByWeight(addr) {
if handler(i, sh) {
break

View file

@ -5,7 +5,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/stretchr/testify/require"
)
@ -20,7 +20,7 @@ func TestReset(t *testing.T) {
addrToInhume := generateAddress()
assertExists := func(addr *objectSDK.Address, expExists bool, expErr error) {
assertExists := func(addr *addressSDK.Address, expExists bool, expErr error) {
exists, err := meta.Exists(db, addr)
require.ErrorIs(t, err, expErr)
require.Equal(t, expExists, exists)

View file

@ -13,6 +13,8 @@ import (
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "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-sdk-go/owner"
ownertest "github.com/nspcc-dev/neofs-sdk-go/owner/test"
"github.com/nspcc-dev/neofs-sdk-go/version"
@ -25,7 +27,7 @@ func putBig(db *meta.DB, obj *object.Object) error {
return meta.Put(db, obj, nil)
}
func testSelect(t *testing.T, db *meta.DB, cid *cid.ID, fs objectSDK.SearchFilters, exp ...*objectSDK.Address) {
func testSelect(t *testing.T, db *meta.DB, cid *cid.ID, fs objectSDK.SearchFilters, exp ...*addressSDK.Address) {
res, err := meta.Select(db, cid, fs)
require.NoError(t, err)
require.Len(t, res, len(exp))
@ -35,11 +37,11 @@ func testSelect(t *testing.T, db *meta.DB, cid *cid.ID, fs objectSDK.SearchFilte
}
}
func testOID() *objectSDK.ID {
func testOID() *oidSDK.ID {
cs := [sha256.Size]byte{}
_, _ = rand.Read(cs[:])
id := objectSDK.NewID()
id := oidSDK.NewID()
id.SetSHA256(cs)
return id
@ -87,8 +89,8 @@ func generateRawObjectWithCID(t *testing.T, cid *cid.ID) *object.RawObject {
return obj
}
func generateAddress() *objectSDK.Address {
addr := objectSDK.NewAddress()
func generateAddress() *addressSDK.Address {
addr := addressSDK.NewAddress()
addr.SetContainerID(cidtest.ID())
addr.SetObjectID(testOID())

View file

@ -7,12 +7,13 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// DeletePrm groups the parameters of Delete operation.
type DeletePrm struct {
addrs []*objectSDK.Address
addrs []*addressSDK.Address
}
// DeleteRes groups resulting values of Delete operation.
@ -21,7 +22,7 @@ type DeleteRes struct{}
// WithAddresses is a Delete option to set the addresses of the objects to delete.
//
// Option is required.
func (p *DeletePrm) WithAddresses(addrs ...*objectSDK.Address) *DeletePrm {
func (p *DeletePrm) WithAddresses(addrs ...*addressSDK.Address) *DeletePrm {
if p != nil {
p.addrs = addrs
}
@ -30,7 +31,7 @@ func (p *DeletePrm) WithAddresses(addrs ...*objectSDK.Address) *DeletePrm {
}
// Delete removes objects from DB.
func Delete(db *DB, addrs ...*objectSDK.Address) error {
func Delete(db *DB, addrs ...*addressSDK.Address) error {
_, err := db.Delete(new(DeletePrm).WithAddresses(addrs...))
return err
}
@ -38,7 +39,7 @@ func Delete(db *DB, addrs ...*objectSDK.Address) error {
type referenceNumber struct {
all, cur int
addr *objectSDK.Address
addr *addressSDK.Address
obj *object.Object
}
@ -52,7 +53,7 @@ func (db *DB) Delete(prm *DeletePrm) (*DeleteRes, error) {
})
}
func (db *DB) deleteGroup(tx *bbolt.Tx, addrs []*objectSDK.Address) error {
func (db *DB) deleteGroup(tx *bbolt.Tx, addrs []*addressSDK.Address) error {
refCounter := make(referenceCounter, len(addrs))
for i := range addrs {
@ -74,7 +75,7 @@ func (db *DB) deleteGroup(tx *bbolt.Tx, addrs []*objectSDK.Address) error {
return nil
}
func (db *DB) delete(tx *bbolt.Tx, addr *objectSDK.Address, refCounter referenceCounter) error {
func (db *DB) delete(tx *bbolt.Tx, addr *addressSDK.Address, refCounter referenceCounter) error {
// remove record from graveyard
graveyard := tx.Bucket(graveyardBucketName)
if graveyard != nil {
@ -158,7 +159,7 @@ func (db *DB) deleteObject(
}
// parentLength returns amount of available children from parentid index.
func parentLength(tx *bbolt.Tx, addr *objectSDK.Address) int {
func parentLength(tx *bbolt.Tx, addr *addressSDK.Address) int {
bkt := tx.Bucket(parentBucketName(addr.ContainerID()))
if bkt == nil {
return 0

View file

@ -8,12 +8,13 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// ExistsPrm groups the parameters of Exists operation.
type ExistsPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// ExistsRes groups resulting values of Exists operation.
@ -24,7 +25,7 @@ type ExistsRes struct {
var ErrLackSplitInfo = errors.New("no split info on parent object")
// WithAddress is an Exists option to set object checked for existence.
func (p *ExistsPrm) WithAddress(addr *objectSDK.Address) *ExistsPrm {
func (p *ExistsPrm) WithAddress(addr *addressSDK.Address) *ExistsPrm {
if p != nil {
p.addr = addr
}
@ -38,7 +39,7 @@ func (p *ExistsRes) Exists() bool {
}
// Exists checks if object is presented in DB.
func Exists(db *DB, addr *objectSDK.Address) (bool, error) {
func Exists(db *DB, addr *addressSDK.Address) (bool, error) {
r, err := db.Exists(new(ExistsPrm).WithAddress(addr))
if err != nil {
return false, err
@ -61,7 +62,7 @@ func (db *DB) Exists(prm *ExistsPrm) (res *ExistsRes, err error) {
return
}
func (db *DB) exists(tx *bbolt.Tx, addr *objectSDK.Address) (exists bool, err error) {
func (db *DB) exists(tx *bbolt.Tx, addr *addressSDK.Address) (exists bool, err error) {
// check graveyard first
switch inGraveyard(tx, addr) {
case 1:
@ -100,7 +101,7 @@ func (db *DB) exists(tx *bbolt.Tx, addr *objectSDK.Address) (exists bool, err er
// * 0 if object is not in graveyard;
// * 1 if object is in graveyard with GC mark;
// * 2 if object is in graveyard with tombstone.
func inGraveyard(tx *bbolt.Tx, addr *objectSDK.Address) uint8 {
func inGraveyard(tx *bbolt.Tx, addr *addressSDK.Address) uint8 {
graveyard := tx.Bucket(graveyardBucketName)
if graveyard == nil {
return 0

View file

@ -6,12 +6,13 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// GetPrm groups the parameters of Get operation.
type GetPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
raw bool
}
@ -23,7 +24,7 @@ type GetRes struct {
// WithAddress is a Get option to set the address of the requested object.
//
// Option is required.
func (p *GetPrm) WithAddress(addr *objectSDK.Address) *GetPrm {
func (p *GetPrm) WithAddress(addr *addressSDK.Address) *GetPrm {
if p != nil {
p.addr = addr
}
@ -48,7 +49,7 @@ func (r *GetRes) Header() *object.Object {
}
// Get reads the object from DB.
func Get(db *DB, addr *objectSDK.Address) (*object.Object, error) {
func Get(db *DB, addr *addressSDK.Address) (*object.Object, error) {
r, err := db.Get(new(GetPrm).WithAddress(addr))
if err != nil {
return nil, err
@ -58,7 +59,7 @@ func Get(db *DB, addr *objectSDK.Address) (*object.Object, error) {
}
// GetRaw reads physically stored object from DB.
func GetRaw(db *DB, addr *objectSDK.Address, raw bool) (*object.Object, error) {
func GetRaw(db *DB, addr *addressSDK.Address, raw bool) (*object.Object, error) {
r, err := db.Get(new(GetPrm).WithAddress(addr).WithRaw(raw))
if err != nil {
return nil, err
@ -80,7 +81,7 @@ func (db *DB) Get(prm *GetPrm) (res *GetRes, err error) {
return
}
func (db *DB) get(tx *bbolt.Tx, addr *objectSDK.Address, checkGraveyard, raw bool) (*object.Object, error) {
func (db *DB) get(tx *bbolt.Tx, addr *addressSDK.Address, checkGraveyard, raw bool) (*object.Object, error) {
obj := object.New()
key := objectKey(addr.ObjectID())
cid := addr.ContainerID()

View file

@ -5,7 +5,7 @@ import (
"errors"
"fmt"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
@ -13,7 +13,7 @@ import (
type Grave struct {
gcMark bool
addr *object.Address
addr *addressSDK.Address
}
// WithGCMark returns true if grave marked for GC to be removed.
@ -22,7 +22,7 @@ func (g *Grave) WithGCMark() bool {
}
// Address returns buried object address.
func (g *Grave) Address() *object.Address {
func (g *Grave) Address() *addressSDK.Address {
return g.addr
}

View file

@ -4,7 +4,7 @@ import (
"testing"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/stretchr/testify/require"
)
@ -42,7 +42,7 @@ func TestDB_IterateOverGraveyard(t *testing.T) {
var (
counterAll int
buriedTS, buriedGC []*object.Address
buriedTS, buriedGC []*addressSDK.Address
)
err = db.IterateOverGraveyard(func(g *meta.Grave) error {
@ -60,6 +60,6 @@ func TestDB_IterateOverGraveyard(t *testing.T) {
require.NoError(t, err)
require.Equal(t, 2, counterAll)
require.Equal(t, []*object.Address{obj1.Object().Address()}, buriedTS)
require.Equal(t, []*object.Address{obj2.Object().Address()}, buriedGC)
require.Equal(t, []*addressSDK.Address{obj1.Object().Address()}, buriedTS)
require.Equal(t, []*addressSDK.Address{obj2.Object().Address()}, buriedGC)
}

View file

@ -6,21 +6,22 @@ import (
"fmt"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// InhumePrm encapsulates parameters for Inhume operation.
type InhumePrm struct {
tomb *objectSDK.Address
tomb *addressSDK.Address
target []*objectSDK.Address
target []*addressSDK.Address
}
// InhumeRes encapsulates results of Inhume operation.
type InhumeRes struct{}
// WithAddresses sets list of object addresses that should be inhumed.
func (p *InhumePrm) WithAddresses(addrs ...*objectSDK.Address) *InhumePrm {
func (p *InhumePrm) WithAddresses(addrs ...*addressSDK.Address) *InhumePrm {
if p != nil {
p.target = addrs
}
@ -32,7 +33,7 @@ func (p *InhumePrm) WithAddresses(addrs ...*objectSDK.Address) *InhumePrm {
//
// addr should not be nil.
// Should not be called along with WithGCMark.
func (p *InhumePrm) WithTombstoneAddress(addr *objectSDK.Address) *InhumePrm {
func (p *InhumePrm) WithTombstoneAddress(addr *addressSDK.Address) *InhumePrm {
if p != nil {
p.tomb = addr
}
@ -54,7 +55,7 @@ func (p *InhumePrm) WithGCMark() *InhumePrm {
// Inhume inhumes the object by specified address.
//
// tomb should not be nil.
func Inhume(db *DB, target, tomb *objectSDK.Address) error {
func Inhume(db *DB, target, tomb *addressSDK.Address) error {
_, err := db.Inhume(new(InhumePrm).
WithAddresses(target).
WithTombstoneAddress(tomb),

View file

@ -8,6 +8,8 @@ import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"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.etcd.io/bbolt"
)
@ -15,7 +17,7 @@ import (
type ExpiredObject struct {
typ object.Type
addr *object.Address
addr *addressSDK.Address
}
// Type returns type of the expired object.
@ -24,7 +26,7 @@ func (e *ExpiredObject) Type() object.Type {
}
// Address returns address of the expired object.
func (e *ExpiredObject) Address() *object.Address {
func (e *ExpiredObject) Address() *addressSDK.Address {
return e.addr
}
@ -67,7 +69,7 @@ func (db *DB) iterateExpired(tx *bbolt.Tx, epoch uint64, h ExpiredObjectHandler)
}
return bktExpired.ForEach(func(idKey, _ []byte) error {
id := object.NewID()
id := oidSDK.NewID()
err = id.Parse(string(idKey))
if err != nil {
@ -81,7 +83,7 @@ func (db *DB) iterateExpired(tx *bbolt.Tx, epoch uint64, h ExpiredObjectHandler)
return fmt.Errorf("could not parse container ID of expired bucket: %w", err)
}
addr := object.NewAddress()
addr := addressSDK.NewAddress()
addr.SetContainerID(cnrID)
addr.SetObjectID(id)
@ -118,13 +120,13 @@ func objectType(tx *bbolt.Tx, cid *cid.ID, oidBytes []byte) object.Type {
// Returns other errors of h directly.
//
// Does not modify tss.
func (db *DB) IterateCoveredByTombstones(tss map[string]struct{}, h func(*object.Address) error) error {
func (db *DB) IterateCoveredByTombstones(tss map[string]struct{}, h func(*addressSDK.Address) error) error {
return db.boltDB.View(func(tx *bbolt.Tx) error {
return db.iterateCoveredByTombstones(tx, tss, h)
})
}
func (db *DB) iterateCoveredByTombstones(tx *bbolt.Tx, tss map[string]struct{}, h func(*object.Address) error) error {
func (db *DB) iterateCoveredByTombstones(tx *bbolt.Tx, tss map[string]struct{}, h func(*addressSDK.Address) error) error {
bktGraveyard := tx.Bucket(graveyardBucketName)
if bktGraveyard == nil {
return nil

View file

@ -7,6 +7,7 @@ import (
objectV2 "github.com/nspcc-dev/neofs-api-go/v2/object"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/stretchr/testify/require"
)
@ -15,8 +16,8 @@ func TestDB_IterateExpired(t *testing.T) {
const epoch = 13
mAlive := map[object.Type]*object.Address{}
mExpired := map[object.Type]*object.Address{}
mAlive := map[object.Type]*addressSDK.Address{}
mExpired := map[object.Type]*addressSDK.Address{}
for _, typ := range []object.Type{
object.TypeRegular,
@ -45,7 +46,7 @@ func TestDB_IterateExpired(t *testing.T) {
require.Empty(t, mExpired)
}
func putWithExpiration(t *testing.T, db *meta.DB, typ object.Type, expiresAt uint64) *object.Address {
func putWithExpiration(t *testing.T, db *meta.DB, typ object.Type, expiresAt uint64) *addressSDK.Address {
raw := generateRawObject(t)
raw.SetType(typ)
addAttribute(raw, objectV2.SysAttributeExpEpoch, strconv.FormatUint(expiresAt, 10))
@ -79,13 +80,13 @@ func TestDB_IterateCoveredByTombstones(t *testing.T) {
WithGCMark(),
)
var handled []*object.Address
var handled []*addressSDK.Address
tss := map[string]struct{}{
ts.String(): {},
}
err = db.IterateCoveredByTombstones(tss, func(addr *object.Address) error {
err = db.IterateCoveredByTombstones(tss, func(addr *addressSDK.Address) error {
handled = append(handled, addr)
return nil
})

View file

@ -5,7 +5,7 @@ import (
"strings"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
@ -42,12 +42,12 @@ func (l *ListPrm) WithCursor(cursor *Cursor) *ListPrm {
// ListRes contains values returned from ListWithCursor operation.
type ListRes struct {
addrList []*object.Address
addrList []*addressSDK.Address
cursor *Cursor
}
// AddressList returns addresses selected by ListWithCursor operation.
func (l ListRes) AddressList() []*object.Address {
func (l ListRes) AddressList() []*addressSDK.Address {
return l.addrList
}
@ -62,7 +62,7 @@ func (l ListRes) Cursor() *Cursor {
//
// Returns ErrEndOfListing if there are no more objects to return or count
// parameter set to zero.
func ListWithCursor(db *DB, count uint32, cursor *Cursor) ([]*object.Address, *Cursor, error) {
func ListWithCursor(db *DB, count uint32, cursor *Cursor) ([]*addressSDK.Address, *Cursor, error) {
r, err := db.ListWithCursor(new(ListPrm).WithCount(count).WithCursor(cursor))
if err != nil {
return nil, nil, err
@ -87,9 +87,9 @@ func (db *DB) ListWithCursor(prm *ListPrm) (res *ListRes, err error) {
return res, err
}
func (db *DB) listWithCursor(tx *bbolt.Tx, count int, cursor *Cursor) ([]*object.Address, *Cursor, error) {
func (db *DB) listWithCursor(tx *bbolt.Tx, count int, cursor *Cursor) ([]*addressSDK.Address, *Cursor, error) {
threshold := cursor == nil // threshold is a flag to ignore cursor
result := make([]*object.Address, 0, count)
result := make([]*addressSDK.Address, 0, count)
var bucketName []byte
c := tx.Cursor()
@ -142,11 +142,11 @@ loop:
func selectNFromBucket(tx *bbolt.Tx,
name []byte, // bucket name
prefix string, // string of CID, optimization
to []*object.Address, // listing result
to []*addressSDK.Address, // listing result
limit int, // stop listing at `limit` items in result
cursor *Cursor, // start from cursor object
threshold bool, // ignore cursor and start immediately
) ([]*object.Address, *Cursor) {
) ([]*addressSDK.Address, *Cursor) {
bkt := tx.Bucket(name)
if bkt == nil {
return to, cursor
@ -171,7 +171,7 @@ func selectNFromBucket(tx *bbolt.Tx,
if count >= limit {
break
}
a := object.NewAddress()
a := addressSDK.NewAddress()
if err := a.Parse(prefix + string(k)); err != nil {
break
}

View file

@ -8,6 +8,7 @@ import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"github.com/stretchr/testify/require"
)
@ -19,7 +20,7 @@ func TestLisObjectsWithCursor(t *testing.T) {
total = containers * 4 // regular + ts + sg + child
)
expected := make([]*objectSDK.Address, 0, total)
expected := make([]*addressSDK.Address, 0, total)
// fill metabase with objects
for i := 0; i < containers; i++ {
@ -72,7 +73,7 @@ func TestLisObjectsWithCursor(t *testing.T) {
t.Run("success with various count", func(t *testing.T) {
for countPerReq := 1; countPerReq <= total; countPerReq++ {
got := make([]*objectSDK.Address, 0, total)
got := make([]*addressSDK.Address, 0, total)
res, cursor, err := meta.ListWithCursor(db, uint32(countPerReq), nil)
require.NoError(t, err, "count:%d", countPerReq)
@ -154,7 +155,7 @@ func TestAddObjectDuringListingWithCursor(t *testing.T) {
}
func sortAddresses(addr []*objectSDK.Address) []*objectSDK.Address {
func sortAddresses(addr []*addressSDK.Address) []*addressSDK.Address {
sort.Slice(addr, func(i, j int) bool {
return addr[i].String() < addr[j].String()
})

View file

@ -3,20 +3,20 @@ package meta
import (
"fmt"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// ToMoveItPrm groups the parameters of ToMoveIt operation.
type ToMoveItPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// ToMoveItRes groups resulting values of ToMoveIt operation.
type ToMoveItRes struct{}
// WithAddress sets address of the object to move into another shard.
func (p *ToMoveItPrm) WithAddress(addr *objectSDK.Address) *ToMoveItPrm {
func (p *ToMoveItPrm) WithAddress(addr *addressSDK.Address) *ToMoveItPrm {
if p != nil {
p.addr = addr
}
@ -26,14 +26,14 @@ func (p *ToMoveItPrm) WithAddress(addr *objectSDK.Address) *ToMoveItPrm {
// DoNotMovePrm groups the parameters of DoNotMove operation.
type DoNotMovePrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// DoNotMoveRes groups resulting values of DoNotMove operation.
type DoNotMoveRes struct{}
// WithAddress sets address of the object to prevent moving into another shard.
func (p *DoNotMovePrm) WithAddress(addr *objectSDK.Address) *DoNotMovePrm {
func (p *DoNotMovePrm) WithAddress(addr *addressSDK.Address) *DoNotMovePrm {
if p != nil {
p.addr = addr
}
@ -46,16 +46,16 @@ type MovablePrm struct{}
// MovableRes groups resulting values of Movable operation.
type MovableRes struct {
addrList []*objectSDK.Address
addrList []*addressSDK.Address
}
// AddressList returns resulting addresses of Movable operation.
func (p *MovableRes) AddressList() []*objectSDK.Address {
func (p *MovableRes) AddressList() []*addressSDK.Address {
return p.addrList
}
// ToMoveIt marks object to move it into another shard.
func ToMoveIt(db *DB, addr *objectSDK.Address) error {
func ToMoveIt(db *DB, addr *addressSDK.Address) error {
_, err := db.ToMoveIt(new(ToMoveItPrm).WithAddress(addr))
return err
}
@ -76,7 +76,7 @@ func (db *DB) ToMoveIt(prm *ToMoveItPrm) (res *ToMoveItRes, err error) {
}
// DoNotMove prevents the object to be moved into another shard.
func DoNotMove(db *DB, addr *objectSDK.Address) error {
func DoNotMove(db *DB, addr *addressSDK.Address) error {
_, err := db.DoNotMove(new(DoNotMovePrm).WithAddress(addr))
return err
}
@ -96,7 +96,7 @@ func (db *DB) DoNotMove(prm *DoNotMovePrm) (res *DoNotMoveRes, err error) {
}
// Movable returns all movable objects of DB.
func Movable(db *DB) ([]*objectSDK.Address, error) {
func Movable(db *DB) ([]*addressSDK.Address, error) {
r, err := db.Movable(new(MovablePrm))
if err != nil {
return nil, err
@ -128,7 +128,7 @@ func (db *DB) Movable(prm *MovablePrm) (*MovableRes, error) {
// we can parse strings to structures in-place, but probably it seems
// more efficient to keep bolt db TX code smaller because it might be
// bottleneck.
addrs := make([]*objectSDK.Address, 0, len(strAddrs))
addrs := make([]*addressSDK.Address, 0, len(strAddrs))
for i := range strAddrs {
addr, err := addressFromKey([]byte(strAddrs[i]))

View file

@ -9,6 +9,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
@ -377,7 +378,7 @@ func decodeList(data []byte) (lst [][]byte, err error) {
// updateBlobovniczaID for existing objects if they were moved from from
// one blobovnicza to another.
func updateBlobovniczaID(tx *bbolt.Tx, addr *objectSDK.Address, id *blobovnicza.ID) error {
func updateBlobovniczaID(tx *bbolt.Tx, addr *addressSDK.Address, id *blobovnicza.ID) error {
bkt, err := tx.CreateBucketIfNotExists(smallBucketName(addr.ContainerID()))
if err != nil {
return err
@ -388,7 +389,7 @@ func updateBlobovniczaID(tx *bbolt.Tx, addr *objectSDK.Address, id *blobovnicza.
// updateSpliInfo for existing objects if storage filled with extra information
// about last object in split hierarchy or linking object.
func updateSplitInfo(tx *bbolt.Tx, addr *objectSDK.Address, from *objectSDK.SplitInfo) error {
func updateSplitInfo(tx *bbolt.Tx, addr *addressSDK.Address, from *objectSDK.SplitInfo) error {
bkt := tx.Bucket(rootBucketName(addr.ContainerID()))
if bkt == nil {
// if object doesn't exists and we want to update split info on it

View file

@ -9,6 +9,7 @@ import (
v2object "github.com/nspcc-dev/neofs-api-go/v2/object"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
"go.uber.org/zap"
)
@ -33,7 +34,7 @@ type SelectPrm struct {
// SelectRes groups resulting values of Select operation.
type SelectRes struct {
addrList []*object.Address
addrList []*addressSDK.Address
}
// WithContainerID is a Select option to set the container id to search in.
@ -55,14 +56,14 @@ func (p *SelectPrm) WithFilters(fs object.SearchFilters) *SelectPrm {
}
// AddressList returns list of addresses of the selected objects.
func (r *SelectRes) AddressList() []*object.Address {
func (r *SelectRes) AddressList() []*addressSDK.Address {
return r.addrList
}
var ErrMissingContainerID = errors.New("missing container id field")
// Select selects the objects from DB with filtering.
func Select(db *DB, cid *cid.ID, fs object.SearchFilters) ([]*object.Address, error) {
func Select(db *DB, cid *cid.ID, fs object.SearchFilters) ([]*addressSDK.Address, error) {
r, err := db.Select(new(SelectPrm).WithFilters(fs).WithContainerID(cid))
if err != nil {
return nil, err
@ -86,7 +87,7 @@ func (db *DB) Select(prm *SelectPrm) (res *SelectRes, err error) {
})
}
func (db *DB) selectObjects(tx *bbolt.Tx, cid *cid.ID, fs object.SearchFilters) ([]*object.Address, error) {
func (db *DB) selectObjects(tx *bbolt.Tx, cid *cid.ID, fs object.SearchFilters) ([]*addressSDK.Address, error) {
if cid == nil {
return nil, ErrMissingContainerID
}
@ -118,7 +119,7 @@ func (db *DB) selectObjects(tx *bbolt.Tx, cid *cid.ID, fs object.SearchFilters)
}
}
res := make([]*object.Address, 0, len(mAddr))
res := make([]*addressSDK.Address, 0, len(mAddr))
for a, ind := range mAddr {
if ind != expLen {
@ -490,7 +491,7 @@ func (db *DB) selectObjectID(
}
// matchSlowFilters return true if object header is matched by all slow filters.
func (db *DB) matchSlowFilters(tx *bbolt.Tx, addr *object.Address, f object.SearchFilters) bool {
func (db *DB) matchSlowFilters(tx *bbolt.Tx, addr *addressSDK.Address, f object.SearchFilters) bool {
if len(f) == 0 {
return true
}

View file

@ -8,6 +8,7 @@ import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "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/version"
"github.com/stretchr/testify/require"
)
@ -320,7 +321,7 @@ func TestDB_SelectInhume(t *testing.T) {
raw2.Object().Address(),
)
tombstone := objectSDK.NewAddress()
tombstone := addressSDK.NewAddress()
tombstone.SetContainerID(cid)
tombstone.SetObjectID(testOID())

View file

@ -3,13 +3,13 @@ package meta
import (
"github.com/nspcc-dev/neo-go/pkg/util/slice"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// IsSmallPrm groups the parameters of IsSmall operation.
type IsSmallPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// IsSmallRes groups resulting values of IsSmall operation.
@ -18,7 +18,7 @@ type IsSmallRes struct {
}
// WithAddress is a IsSmall option to set the object address to check.
func (p *IsSmallPrm) WithAddress(addr *objectSDK.Address) *IsSmallPrm {
func (p *IsSmallPrm) WithAddress(addr *addressSDK.Address) *IsSmallPrm {
if p != nil {
p.addr = addr
}
@ -34,7 +34,7 @@ func (r *IsSmallRes) BlobovniczaID() *blobovnicza.ID {
// IsSmall wraps work with DB.IsSmall method with specified
// address and other parameters by default. Returns only
// the blobovnicza identifier.
func IsSmall(db *DB, addr *objectSDK.Address) (*blobovnicza.ID, error) {
func IsSmall(db *DB, addr *addressSDK.Address) (*blobovnicza.ID, error) {
r, err := db.IsSmall(new(IsSmallPrm).WithAddress(addr))
if err != nil {
return nil, err
@ -59,7 +59,7 @@ func (db *DB) IsSmall(prm *IsSmallPrm) (res *IsSmallRes, err error) {
return
}
func (db *DB) isSmall(tx *bbolt.Tx, addr *objectSDK.Address) (*blobovnicza.ID, error) {
func (db *DB) isSmall(tx *bbolt.Tx, addr *addressSDK.Address) (*blobovnicza.ID, error) {
smallBucket := tx.Bucket(smallBucketName(addr.ContainerID()))
if smallBucket == nil {
return nil, nil

View file

@ -6,6 +6,8 @@ import (
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"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.etcd.io/bbolt"
)
@ -105,18 +107,18 @@ func splitBucketName(cid *cid.ID) []byte {
}
// addressKey returns key for K-V tables when key is a whole address.
func addressKey(addr *object.Address) []byte {
func addressKey(addr *addressSDK.Address) []byte {
return []byte(addr.String())
}
// parses object address formed by addressKey.
func addressFromKey(k []byte) (*object.Address, error) {
a := object.NewAddress()
func addressFromKey(k []byte) (*addressSDK.Address, error) {
a := addressSDK.NewAddress()
return a, a.Parse(string(k))
}
// objectKey returns key for K-V tables when key is an object id.
func objectKey(oid *object.ID) []byte {
func objectKey(oid *oidSDK.ID) []byte {
return []byte(oid.String())
}

View file

@ -9,6 +9,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// Open opens all Shard's components.
@ -91,14 +92,14 @@ func (s *Shard) refillMetabase() error {
tombAddr := obj.Address()
cid := tombAddr.ContainerID()
memberIDs := tombstone.Members()
tombMembers := make([]*objectSDK.Address, 0, len(memberIDs))
tombMembers := make([]*addressSDK.Address, 0, len(memberIDs))
for _, id := range memberIDs {
if id == nil {
return errors.New("empty member in tombstone")
}
a := objectSDK.NewAddress()
a := addressSDK.NewAddress()
a.SetContainerID(cid)
a.SetObjectID(id)

View file

@ -9,6 +9,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
"github.com/stretchr/testify/require"
)
@ -41,7 +42,7 @@ func TestRefillMetabase(t *testing.T) {
type objAddr struct {
obj *object.Object
addr *objectSDK.Address
addr *addressSDK.Address
}
mObjs := make(map[string]objAddr)
@ -72,10 +73,10 @@ func TestRefillMetabase(t *testing.T) {
tombObj := tombObjRaw.Object()
tombMembers := make([]*objectSDK.Address, 0, len(tombstone.Members()))
tombMembers := make([]*addressSDK.Address, 0, len(tombstone.Members()))
for _, member := range tombstone.Members() {
a := objectSDK.NewAddress()
a := addressSDK.NewAddress()
a.SetObjectID(member)
a.SetContainerID(tombObj.ContainerID())
@ -97,7 +98,7 @@ func TestRefillMetabase(t *testing.T) {
var headPrm HeadPrm
checkObj := func(addr *objectSDK.Address, expObj *object.Object) {
checkObj := func(addr *addressSDK.Address, expObj *object.Object) {
res, err := sh.Head(headPrm.WithAddress(addr))
if expObj == nil {

View file

@ -7,13 +7,13 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
// DeletePrm groups the parameters of Delete operation.
type DeletePrm struct {
addr []*objectSDK.Address
addr []*addressSDK.Address
}
// DeleteRes groups resulting values of Delete operation.
@ -22,7 +22,7 @@ type DeleteRes struct{}
// WithAddresses is a Delete option to set the addresses of the objects to delete.
//
// Option is required.
func (p *DeletePrm) WithAddresses(addr ...*objectSDK.Address) *DeletePrm {
func (p *DeletePrm) WithAddresses(addr ...*addressSDK.Address) *DeletePrm {
if p != nil {
p.addr = append(p.addr, addr...)
}
@ -41,7 +41,7 @@ func (s *Shard) Delete(prm *DeletePrm) (*DeleteRes, error) {
delSmallPrm := new(blobstor.DeleteSmallPrm)
delBigPrm := new(blobstor.DeleteBigPrm)
smalls := make(map[*objectSDK.Address]*blobovnicza.ID, ln)
smalls := make(map[*addressSDK.Address]*blobovnicza.ID, ln)
for i := range prm.addr {
if s.hasWriteCache() {

View file

@ -18,8 +18,8 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/writecache"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/test"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
objecttest "github.com/nspcc-dev/neofs-sdk-go/object/id/test"
"github.com/stretchr/testify/require"
)
@ -327,7 +327,7 @@ func TestDumpIgnoreErrors(t *testing.T) {
// 2.2. Invalid object in valid blobovnicza.
prm := new(blobovnicza.PutPrm)
prm.SetAddress(objectSDK.NewAddress())
prm.SetAddress(addressSDK.NewAddress())
prm.SetMarshaledObject(corruptedData)
b := blobovnicza.New(blobovnicza.WithPath(filepath.Join(bTree, "1", "2")))
require.NoError(t, b.Open())

View file

@ -2,12 +2,12 @@ package shard
import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// ExistsPrm groups the parameters of Exists operation.
type ExistsPrm struct {
addr *object.Address
addr *addressSDK.Address
}
// ExistsRes groups resulting values of Exists operation.
@ -16,7 +16,7 @@ type ExistsRes struct {
}
// WithAddress is an Exists option to set object checked for existence.
func (p *ExistsPrm) WithAddress(addr *object.Address) *ExistsPrm {
func (p *ExistsPrm) WithAddress(addr *addressSDK.Address) *ExistsPrm {
if p != nil {
p.addr = addr
}
@ -41,6 +41,6 @@ func (s *Shard) Exists(prm *ExistsPrm) (*ExistsRes, error) {
}, err
}
func (s *Shard) objectExists(addr *object.Address) (bool, error) {
func (s *Shard) objectExists(addr *addressSDK.Address) (bool, error) {
return meta.Exists(s.metaBase, addr)
}

View file

@ -9,6 +9,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
@ -177,7 +178,7 @@ func (s *Shard) removeGarbage() {
return
}
buf := make([]*object.Address, 0, s.rmBatchSize)
buf := make([]*addressSDK.Address, 0, s.rmBatchSize)
// iterate over metabase graveyard and accumulate
// objects with GC mark (no more the s.rmBatchSize objects)
@ -250,8 +251,8 @@ func (s *Shard) collectExpiredTombstones(ctx context.Context, e Event) {
s.expiredTombstonesCallback(ctx, expired)
}
func (s *Shard) getExpiredObjects(ctx context.Context, epoch uint64, collectTombstones bool) ([]*object.Address, error) {
var expired []*object.Address
func (s *Shard) getExpiredObjects(ctx context.Context, epoch uint64, collectTombstones bool) ([]*addressSDK.Address, error) {
var expired []*addressSDK.Address
err := s.metaBase.IterateExpired(epoch, func(expiredObject *meta.ExpiredObject) error {
select {
@ -276,11 +277,11 @@ func (s *Shard) getExpiredObjects(ctx context.Context, epoch uint64, collectTomb
//
// Does not modify tss.
func (s *Shard) HandleExpiredTombstones(tss map[string]struct{}) {
inhume := make([]*object.Address, 0, len(tss))
inhume := make([]*addressSDK.Address, 0, len(tss))
// Collect all objects covered by the tombstones.
err := s.metaBase.IterateCoveredByTombstones(tss, func(addr *object.Address) error {
err := s.metaBase.IterateCoveredByTombstones(tss, func(addr *addressSDK.Address) error {
inhume = append(inhume, addr)
return nil
})
@ -319,7 +320,7 @@ func (s *Shard) HandleExpiredTombstones(tss map[string]struct{}) {
for strAddr := range tss {
// parse address
// TODO: make type of map values *object.Address since keys are calculated from addresses
addr := object.NewAddress()
addr := addressSDK.NewAddress()
err = addr.Parse(strAddr)
if err != nil {

View file

@ -8,7 +8,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
@ -18,7 +18,7 @@ type storFetcher = func(stor *blobstor.BlobStor, id *blobovnicza.ID) (*object.Ob
// GetPrm groups the parameters of Get operation.
type GetPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// GetRes groups resulting values of Get operation.
@ -29,7 +29,7 @@ type GetRes struct {
// WithAddress is a Get option to set the address of the requested object.
//
// Option is required.
func (p *GetPrm) WithAddress(addr *objectSDK.Address) *GetPrm {
func (p *GetPrm) WithAddress(addr *addressSDK.Address) *GetPrm {
if p != nil {
p.addr = addr
}
@ -84,7 +84,7 @@ func (s *Shard) Get(prm *GetPrm) (*GetRes, error) {
}
// fetchObjectData looks through writeCache and blobStor to find object.
func (s *Shard) fetchObjectData(addr *objectSDK.Address, big, small storFetcher) (*object.Object, error) {
func (s *Shard) fetchObjectData(addr *addressSDK.Address, big, small storFetcher) (*object.Object, error) {
var (
err error
res *object.Object

View file

@ -6,12 +6,12 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// HeadPrm groups the parameters of Head operation.
type HeadPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
raw bool
}
@ -23,7 +23,7 @@ type HeadRes struct {
// WithAddress is a Head option to set the address of the requested object.
//
// Option is required.
func (p *HeadPrm) WithAddress(addr *objectSDK.Address) *HeadPrm {
func (p *HeadPrm) WithAddress(addr *addressSDK.Address) *HeadPrm {
if p != nil {
p.addr = addr
}

View file

@ -2,14 +2,14 @@ package shard
import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
// InhumePrm encapsulates parameters for inhume operation.
type InhumePrm struct {
target []*objectSDK.Address
tombstone *objectSDK.Address
target []*addressSDK.Address
tombstone *addressSDK.Address
}
// InhumeRes encapsulates results of inhume operation.
@ -20,7 +20,7 @@ type InhumeRes struct{}
//
// tombstone should not be nil, addr should not be empty.
// Should not be called along with MarkAsGarbage.
func (p *InhumePrm) WithTarget(tombstone *objectSDK.Address, addrs ...*objectSDK.Address) *InhumePrm {
func (p *InhumePrm) WithTarget(tombstone *addressSDK.Address, addrs ...*addressSDK.Address) *InhumePrm {
if p != nil {
p.target = addrs
p.tombstone = tombstone
@ -32,7 +32,7 @@ func (p *InhumePrm) WithTarget(tombstone *objectSDK.Address, addrs ...*objectSDK
// MarkAsGarbage marks object to be physically removed from shard.
//
// Should not be called along with WithTarget.
func (p *InhumePrm) MarkAsGarbage(addr ...*objectSDK.Address) *InhumePrm {
func (p *InhumePrm) MarkAsGarbage(addr ...*addressSDK.Address) *InhumePrm {
if p != nil {
p.target = addr
p.tombstone = nil

View file

@ -6,6 +6,7 @@ import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
@ -35,7 +36,7 @@ type ListWithCursorPrm struct {
// ListWithCursorRes contains values returned from ListWithCursor operation.
type ListWithCursorRes struct {
addrList []*object.Address
addrList []*addressSDK.Address
cursor *Cursor
}
@ -54,7 +55,7 @@ func (p *ListWithCursorPrm) WithCursor(cursor *Cursor) *ListWithCursorPrm {
}
// AddressList returns addresses selected by ListWithCursor operation.
func (r ListWithCursorRes) AddressList() []*object.Address {
func (r ListWithCursorRes) AddressList() []*addressSDK.Address {
return r.addrList
}
@ -135,7 +136,7 @@ func (s *Shard) ListWithCursor(prm *ListWithCursorPrm) (*ListWithCursorRes, erro
//
// Returns ErrEndOfListing if there are no more objects to return or count
// parameter set to zero.
func ListWithCursor(s *Shard, count uint32, cursor *Cursor) ([]*object.Address, *Cursor, error) {
func ListWithCursor(s *Shard, count uint32, cursor *Cursor) ([]*addressSDK.Address, *Cursor, error) {
prm := new(ListWithCursorPrm).WithCount(count).WithCursor(cursor)
res, err := s.ListWithCursor(prm)
if err != nil {

View file

@ -2,13 +2,13 @@ package shard
import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
// ToMoveItPrm encapsulates parameters for ToMoveIt operation.
type ToMoveItPrm struct {
addr *objectSDK.Address
addr *addressSDK.Address
}
// ToMoveItRes encapsulates results of ToMoveIt operation.
@ -16,7 +16,7 @@ type ToMoveItRes struct{}
// WithAddress sets object address that should be marked to move into another
// shard.
func (p *ToMoveItPrm) WithAddress(addr *objectSDK.Address) *ToMoveItPrm {
func (p *ToMoveItPrm) WithAddress(addr *addressSDK.Address) *ToMoveItPrm {
if p != nil {
p.addr = addr
}

View file

@ -5,6 +5,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// RngPrm groups the parameters of GetRange operation.
@ -13,7 +14,7 @@ type RngPrm struct {
off uint64
addr *objectSDK.Address
addr *addressSDK.Address
}
// RngRes groups resulting values of GetRange operation.
@ -24,7 +25,7 @@ type RngRes struct {
// WithAddress is a Rng option to set the address of the requested object.
//
// Option is required.
func (p *RngPrm) WithAddress(addr *objectSDK.Address) *RngPrm {
func (p *RngPrm) WithAddress(addr *addressSDK.Address) *RngPrm {
if p != nil {
p.addr = addr
}

View file

@ -6,6 +6,7 @@ import (
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
// SelectPrm groups the parameters of Select operation.
@ -16,7 +17,7 @@ type SelectPrm struct {
// SelectRes groups resulting values of Select operation.
type SelectRes struct {
addrList []*objectSDK.Address
addrList []*addressSDK.Address
}
// WithContainerID is a Select option to set the container id to search in.
@ -38,7 +39,7 @@ func (p *SelectPrm) WithFilters(fs objectSDK.SearchFilters) *SelectPrm {
}
// AddressList returns list of addresses of the selected objects.
func (r *SelectRes) AddressList() []*objectSDK.Address {
func (r *SelectRes) AddressList() []*addressSDK.Address {
return r.addrList
}

View file

@ -10,7 +10,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/writecache"
"github.com/nspcc-dev/neofs-node/pkg/util"
"github.com/nspcc-dev/neofs-node/pkg/util/logger"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
@ -31,7 +31,7 @@ type Shard struct {
type Option func(*cfg)
// ExpiredObjectsCallback is a callback handling list of expired objects.
type ExpiredObjectsCallback func(context.Context, []*object.Address)
type ExpiredObjectsCallback func(context.Context, []*addressSDK.Address)
type cfg struct {
m sync.RWMutex

View file

@ -18,6 +18,7 @@ import (
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
objectSDK "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"
ownertest "github.com/nspcc-dev/neofs-sdk-go/owner/test"
"github.com/nspcc-dev/neofs-sdk-go/version"
@ -122,11 +123,11 @@ func addPayload(obj *object.RawObject, size int) {
obj.SetPayloadSize(uint64(size))
}
func generateOID() *objectSDK.ID {
func generateOID() *oidSDK.ID {
cs := [sha256.Size]byte{}
_, _ = rand.Read(cs[:])
id := objectSDK.NewID()
id := oidSDK.NewID()
id.SetSHA256(cs)
return id

View file

@ -7,6 +7,7 @@ import (
"github.com/google/uuid"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/util"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/stretchr/testify/require"
)
@ -18,8 +19,8 @@ func TestMergeSplitInfo(t *testing.T) {
splitID.SetUUID(uid)
var rawLinkID, rawLastID [32]byte
linkID := object.NewID()
lastID := object.NewID()
linkID := oidSDK.NewID()
lastID := oidSDK.NewID()
_, err = rand.Read(rawLinkID[:])
require.NoError(t, err)

View file

@ -6,12 +6,12 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
storagelog "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/internal/log"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// Delete removes object from write-cache.
func (c *cache) Delete(addr *objectSDK.Address) error {
func (c *cache) Delete(addr *addressSDK.Address) error {
c.modeMtx.RLock()
defer c.modeMtx.RUnlock()
if c.mode == ModeReadOnly {

View file

@ -10,7 +10,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
meta "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
"go.uber.org/zap"
)
@ -133,7 +133,7 @@ func (c *cache) flushBigObjects() {
}
evictNum := 0
_ = c.fsTree.Iterate(new(fstree.IterationPrm).WithHandler(func(addr *objectSDK.Address, data []byte) error {
_ = c.fsTree.Iterate(new(fstree.IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
sAddr := addr.String()
if _, ok := c.store.flushed.Peek(sAddr); ok {

View file

@ -2,12 +2,12 @@ package writecache
import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
// Get returns object from write-cache.
func (c *cache) Get(addr *objectSDK.Address) (*object.Object, error) {
func (c *cache) Get(addr *addressSDK.Address) (*object.Object, error) {
saddr := addr.String()
c.mtx.RLock()
@ -42,7 +42,7 @@ func (c *cache) Get(addr *objectSDK.Address) (*object.Object, error) {
}
// Head returns object header from write-cache.
func (c *cache) Head(addr *objectSDK.Address) (*object.Object, error) {
func (c *cache) Head(addr *addressSDK.Address) (*object.Object, error) {
// TODO: easiest to implement solution is presented here, consider more efficient way, e.g.:
// - provide header as common object.Object to Put, but marked to prevent correlation with full object
// (all write-cache logic will automatically spread to headers, except flushing)

View file

@ -5,7 +5,7 @@ import (
"fmt"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
)
@ -53,7 +53,7 @@ func (c *cache) Iterate(prm *IterationPrm) error {
return err
}
return c.fsTree.Iterate(new(fstree.IterationPrm).WithHandler(func(addr *object.Address, data []byte) error {
return c.fsTree.Iterate(new(fstree.IterationPrm).WithHandler(func(addr *addressSDK.Address, data []byte) error {
if _, ok := c.flushed.Peek(addr.String()); ok {
return nil
}
@ -67,18 +67,18 @@ func (c *cache) Iterate(prm *IterationPrm) error {
// Returns ErrNoDefaultBucket if there is no default bucket in db.
//
// DB must not be nil and should be opened.
func IterateDB(db *bbolt.DB, f func(*object.Address) error) error {
func IterateDB(db *bbolt.DB, f func(*addressSDK.Address) error) error {
return db.View(func(tx *bbolt.Tx) error {
b := tx.Bucket(defaultBucket)
if b == nil {
return ErrNoDefaultBucket
}
var addr *object.Address
var addr *addressSDK.Address
return b.ForEach(func(k, v []byte) error {
if addr == nil {
addr = object.NewAddress()
addr = addressSDK.NewAddress()
}
err := addr.Parse(string(k))

View file

@ -11,7 +11,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
storagelog "github.com/nspcc-dev/neofs-node/pkg/local_object_storage/internal/log"
"github.com/nspcc-dev/neofs-node/pkg/util"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.etcd.io/bbolt"
"go.uber.org/zap"
)
@ -125,7 +125,7 @@ func (c *cache) deleteFromDisk(keys [][]byte) error {
var lastErr error
for i := range keys {
addr := objectSDK.NewAddress()
addr := addressSDK.NewAddress()
addrStr := string(keys[i])
if err := addr.Parse(addrStr); err != nil {

View file

@ -5,7 +5,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/core/object"
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobstor/fstree"
objectSDK "github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
"go.uber.org/zap"
)
@ -17,9 +17,9 @@ type Info struct {
// Cache represents write-cache for objects.
type Cache interface {
Get(*objectSDK.Address) (*object.Object, error)
Head(*objectSDK.Address) (*object.Object, error)
Delete(*objectSDK.Address) error
Get(*addressSDK.Address) (*object.Object, error)
Head(*addressSDK.Address) (*object.Object, error)
Delete(*addressSDK.Address) error
Iterate(*IterationPrm) error
Put(*object.Object) error
SetMode(Mode)

View file

@ -11,6 +11,7 @@ import (
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"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/storagegroup"
"go.uber.org/atomic"
"go.uber.org/zap"
@ -25,7 +26,7 @@ type Context struct {
report *audit.Report
sgMembersMtx sync.RWMutex
sgMembersCache map[int][]*object.ID
sgMembersCache map[int][]*oidSDK.ID
placementMtx sync.Mutex
placementCache map[string][]netmap.Nodes
@ -56,7 +57,7 @@ type pairMemberInfo struct {
type gamePair struct {
n1, n2 *netmap.Node
id *object.ID
id *oidSDK.ID
rn1, rn2 []*object.Range
@ -84,14 +85,14 @@ type ContextPrm struct {
// component of communication with container nodes.
type ContainerCommunicator interface {
// Must return storage group structure stored in object from container.
GetSG(*audit.Task, *object.ID) (*storagegroup.StorageGroup, error)
GetSG(*audit.Task, *oidSDK.ID) (*storagegroup.StorageGroup, error)
// Must return object header from the container node.
GetHeader(*audit.Task, *netmap.Node, *object.ID, bool) (*object.Object, error)
GetHeader(*audit.Task, *netmap.Node, *oidSDK.ID, bool) (*object.Object, error)
// Must return homomorphic Tillich-Zemor hash of payload range of the
// object stored in container node.
GetRangeHash(*audit.Task, *netmap.Node, *object.ID, *object.Range) ([]byte, error)
GetRangeHash(*audit.Task, *netmap.Node, *oidSDK.ID, *object.Range) ([]byte, error)
}
// NewContext creates, initializes and returns Context.
@ -157,7 +158,7 @@ func (c *Context) containerID() *cid.ID {
func (c *Context) init() {
c.report = audit.NewReport(c.containerID())
c.sgMembersCache = make(map[int][]*object.ID)
c.sgMembersCache = make(map[int][]*oidSDK.ID)
c.placementCache = make(map[string][]netmap.Nodes)
@ -199,7 +200,7 @@ func (c *Context) writeReport() {
}
}
func (c *Context) buildPlacement(id *object.ID) ([]netmap.Nodes, error) {
func (c *Context) buildPlacement(id *oidSDK.ID) ([]netmap.Nodes, error) {
c.placementMtx.Lock()
defer c.placementMtx.Unlock()
@ -223,7 +224,7 @@ func (c *Context) buildPlacement(id *object.ID) ([]netmap.Nodes, error) {
return nn, nil
}
func (c *Context) objectSize(id *object.ID) uint64 {
func (c *Context) objectSize(id *oidSDK.ID) uint64 {
c.headMtx.RLock()
defer c.headMtx.RUnlock()
@ -236,7 +237,7 @@ func (c *Context) objectSize(id *object.ID) uint64 {
return 0
}
func (c *Context) objectHomoHash(id *object.ID) []byte {
func (c *Context) objectHomoHash(id *oidSDK.ID) []byte {
c.headMtx.RLock()
defer c.headMtx.RUnlock()
@ -263,7 +264,7 @@ func (c *Context) updateHeadResponses(hdr *object.Object) {
}
}
func (c *Context) updateSGInfo(ind int, members []*object.ID) {
func (c *Context) updateSGInfo(ind int, members []*oidSDK.ID) {
c.sgMembersMtx.Lock()
defer c.sgMembersMtx.Unlock()

View file

@ -9,6 +9,7 @@ import (
"github.com/nspcc-dev/neofs-node/pkg/util/rand"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/tzhash/tz"
"go.uber.org/zap"
)
@ -81,7 +82,7 @@ func (c *Context) distributeRanges(p *gamePair) {
}
}
func (c *Context) splitPayload(id *object.ID) []uint64 {
func (c *Context) splitPayload(id *oidSDK.ID) []uint64 {
var (
prev uint64
size = c.objectSize(id)

View file

@ -3,7 +3,7 @@ package auditor
import (
"github.com/nspcc-dev/neofs-sdk-go/client"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"go.uber.org/zap"
)
@ -27,7 +27,7 @@ func (c *Context) buildCoverage() {
// select random member from another storage group
// and process all placement vectors
c.iterateSGMembersPlacementRand(func(id *object.ID, ind int, nodes netmap.Nodes) bool {
c.iterateSGMembersPlacementRand(func(id *oidSDK.ID, ind int, nodes netmap.Nodes) bool {
c.processObjectPlacement(id, nodes, replicas[ind].Count())
return c.containerCovered()
})
@ -38,7 +38,7 @@ func (c *Context) containerCovered() bool {
return c.cnrNodesNum <= len(c.pairedNodes)
}
func (c *Context) processObjectPlacement(id *object.ID, nodes netmap.Nodes, replicas uint32) {
func (c *Context) processObjectPlacement(id *oidSDK.ID, nodes netmap.Nodes, replicas uint32) {
var (
ok uint32
optimal bool
@ -102,7 +102,7 @@ func (c *Context) processObjectPlacement(id *object.ID, nodes netmap.Nodes, repl
}
}
func (c *Context) composePair(id *object.ID, n1, n2 *netmap.Node) {
func (c *Context) composePair(id *oidSDK.ID, n1, n2 *netmap.Node) {
c.pairs = append(c.pairs, gamePair{
n1: n1,
n2: n2,
@ -117,10 +117,10 @@ func (c *Context) composePair(id *object.ID, n1, n2 *netmap.Node) {
}
}
func (c *Context) iterateSGMembersPlacementRand(f func(*object.ID, int, netmap.Nodes) bool) {
func (c *Context) iterateSGMembersPlacementRand(f func(*oidSDK.ID, int, netmap.Nodes) bool) {
// iterate over storage groups members for all storage groups (one by one)
// with randomly shuffled members
c.iterateSGMembersRand(func(id *object.ID) bool {
c.iterateSGMembersRand(func(id *oidSDK.ID) bool {
// build placement vector for the current object
nn, err := c.buildPlacement(id)
if err != nil {
@ -142,8 +142,8 @@ func (c *Context) iterateSGMembersPlacementRand(f func(*object.ID, int, netmap.N
})
}
func (c *Context) iterateSGMembersRand(f func(*object.ID) bool) {
c.iterateSGInfo(func(members []*object.ID) bool {
func (c *Context) iterateSGMembersRand(f func(*oidSDK.ID) bool) {
c.iterateSGInfo(func(members []*oidSDK.ID) bool {
ln := len(members)
processed := make(map[uint64]struct{}, ln-1)
@ -161,7 +161,7 @@ func (c *Context) iterateSGMembersRand(f func(*object.ID) bool) {
})
}
func (c *Context) iterateSGInfo(f func([]*object.ID) bool) {
func (c *Context) iterateSGInfo(f func([]*oidSDK.ID) bool) {
c.sgMembersMtx.RLock()
defer c.sgMembersMtx.RUnlock()

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/rand"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
"github.com/nspcc-dev/tzhash/tz"
"go.uber.org/zap"
)
@ -35,7 +35,7 @@ func (c *Context) executePoR() {
c.report.SetPoRCounters(c.porRequests.Load(), c.porRetries.Load())
}
func (c *Context) checkStorageGroupPoR(ind int, sg *object.ID) {
func (c *Context) checkStorageGroupPoR(ind int, sg *oidSDK.ID) {
storageGroup, err := c.cnrCom.GetSG(c.task, sg) // get storage group
if err != nil {
c.log.Warn("can't get storage group",

View file

@ -5,7 +5,7 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/audit"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
// Report tracks the progress of auditing container data.
@ -48,7 +48,7 @@ func (r *Report) Complete() {
}
// PassedPoR updates list of passed storage groups.
func (r *Report) PassedPoR(sg *object.ID) {
func (r *Report) PassedPoR(sg *oidSDK.ID) {
r.mu.Lock()
defer r.mu.Unlock()
@ -56,7 +56,7 @@ func (r *Report) PassedPoR(sg *object.ID) {
}
// FailedPoR updates list of failed storage groups.
func (r *Report) FailedPoR(sg *object.ID) {
func (r *Report) FailedPoR(sg *oidSDK.ID) {
r.mu.Lock()
defer r.mu.Unlock()

View file

@ -6,7 +6,7 @@ import (
"github.com/nspcc-dev/neofs-sdk-go/container"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
"github.com/nspcc-dev/neofs-sdk-go/netmap"
"github.com/nspcc-dev/neofs-sdk-go/object"
oidSDK "github.com/nspcc-dev/neofs-sdk-go/object/id"
)
// Task groups groups the container audit parameters.
@ -23,7 +23,7 @@ type Task struct {
cnrNodes netmap.ContainerNodes
sgList []*object.ID
sgList []*oidSDK.ID
}
// WithReporter sets audit report writer.
@ -111,7 +111,7 @@ func (t *Task) ContainerNodes() netmap.ContainerNodes {
}
// WithStorageGroupList sets list of storage groups from container under audit.
func (t *Task) WithStorageGroupList(sgList []*object.ID) *Task {
func (t *Task) WithStorageGroupList(sgList []*oidSDK.ID) *Task {
if t != nil {
t.sgList = sgList
}
@ -120,6 +120,6 @@ func (t *Task) WithStorageGroupList(sgList []*object.ID) *Task {
}
// StorageGroupList returns list of storage groups from container under audit.
func (t *Task) StorageGroupList() []*object.ID {
func (t *Task) StorageGroupList() []*oidSDK.ID {
return t.sgList
}

View file

@ -5,13 +5,13 @@ import (
"fmt"
"github.com/nspcc-dev/neofs-node/pkg/services/control"
"github.com/nspcc-dev/neofs-sdk-go/object"
objectSDKAddress "github.com/nspcc-dev/neofs-sdk-go/object/address"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
// DeletedObjectHandler is a handler of objects to be removed.
type DeletedObjectHandler func([]*object.Address) error
type DeletedObjectHandler func([]*objectSDKAddress.Address) error
// DropObjects marks objects to be removed from the local node.
//
@ -26,10 +26,10 @@ func (s *Server) DropObjects(_ context.Context, req *control.DropObjectsRequest)
}
binAddrList := req.GetBody().GetAddressList()
addrList := make([]*object.Address, 0, len(binAddrList))
addrList := make([]*objectSDKAddress.Address, 0, len(binAddrList))
for i := range binAddrList {
a := object.NewAddress()
a := objectSDKAddress.NewAddress()
err := a.Unmarshal(binAddrList[i])
if err != nil {

View file

@ -21,7 +21,8 @@ import (
eaclV2 "github.com/nspcc-dev/neofs-node/pkg/services/object/acl/eacl/v2"
cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
eaclSDK "github.com/nspcc-dev/neofs-sdk-go/eacl"
objectSDK "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"
"github.com/nspcc-dev/neofs-sdk-go/util/signature"
)
@ -72,7 +73,7 @@ type (
cid *cid.ID
oid *objectSDK.ID
oid *objectSDKID.ID
senderKey []byte
@ -517,23 +518,23 @@ func useObjectIDFromSession(req *requestInfo, token *session.SessionToken) {
return
}
req.oid = objectSDK.NewIDFromV2(
req.oid = objectSDKID.NewIDFromV2(
objCtx.GetAddress().GetObjectID(),
)
}
func getObjectIDFromRequestBody(body interface{}) *objectSDK.ID {
func getObjectIDFromRequestBody(body interface{}) *objectSDKID.ID {
switch v := body.(type) {
default:
return nil
case interface {
GetObjectID() *refs.ObjectID
}:
return objectSDK.NewIDFromV2(v.GetObjectID())
return objectSDKID.NewIDFromV2(v.GetObjectID())
case interface {
GetAddress() *refs.Address
}:
return objectSDK.NewIDFromV2(v.GetAddress().GetObjectID())
return objectSDKID.NewIDFromV2(v.GetAddress().GetObjectID())
}
}
@ -632,7 +633,7 @@ func eACLCheck(msg interface{}, reqInfo requestInfo, cfg *eACLCfg) bool {
hdrSrcOpts := make([]eaclV2.Option, 0, 3)
addr := objectSDK.NewAddress()
addr := objectSDKAddress.NewAddress()
addr.SetContainerID(reqInfo.cid)
addr.SetObjectID(reqInfo.oid)

View file

@ -13,37 +13,39 @@ import (
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"
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"
)
type testLocalStorage struct {
t *testing.T
expAddr *objectSDK.Address
expAddr *objectSDKAddress.Address
obj *object.Object
}
func (s *testLocalStorage) Head(addr *objectSDK.Address) (*object.Object, error) {
func (s *testLocalStorage) Head(addr *objectSDKAddress.Address) (*object.Object, error) {
require.True(s.t, addr.ContainerID().Equal(addr.ContainerID()) && addr.ObjectID().Equal(addr.ObjectID()))
return s.obj, nil
}
func testID(t *testing.T) *objectSDK.ID {
func testID(t *testing.T) *objectSDKID.ID {
cs := [sha256.Size]byte{}
_, err := rand.Read(cs[:])
require.NoError(t, err)
id := objectSDK.NewID()
id := objectSDKID.NewID()
id.SetSHA256(cs)
return id
}
func testAddress(t *testing.T) *objectSDK.Address {
addr := objectSDK.NewAddress()
func testAddress(t *testing.T) *objectSDKAddress.Address {
addr := objectSDKAddress.NewAddress()
addr.SetObjectID(testID(t))
addr.SetContainerID(cidtest.ID())

View file

@ -10,7 +10,8 @@ import (
"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"
objectSDK "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"
)
@ -25,7 +26,7 @@ type cfg struct {
}
type ObjectStorage interface {
Head(*objectSDK.Address) (*object.Object, error)
Head(*objectSDKAddress.Address) (*object.Object, error)
}
type Request interface {
@ -82,9 +83,9 @@ func requestHeaders(msg xHeaderSource) []eaclSDK.Header {
}
func (h *headerSource) objectHeaders() ([]eaclSDK.Header, bool) {
var addr *objectSDK.Address
var addr *objectSDKAddress.Address
if h.addr != nil {
addr = objectSDK.NewAddressFromV2(h.addr)
addr = objectSDKAddress.NewAddressFromV2(h.addr)
}
switch m := h.msg.(type) {
@ -100,7 +101,7 @@ func (h *headerSource) objectHeaders() ([]eaclSDK.Header, bool) {
*objectV2.GetRangeRequest,
*objectV2.GetRangeHashRequest,
*objectV2.DeleteRequest:
return addressHeaders(objectSDK.NewAddressFromV2(h.addr)), true
return addressHeaders(objectSDKAddress.NewAddressFromV2(h.addr)), true
case *objectV2.PutRequest:
if v, ok := req.GetBody().GetObjectPart().(*objectV2.PutObjectPartInit); ok {
oV2 := new(objectV2.Object)
@ -108,9 +109,9 @@ func (h *headerSource) objectHeaders() ([]eaclSDK.Header, bool) {
oV2.SetHeader(v.GetHeader())
if addr == nil {
addr = objectSDK.NewAddress()
addr = objectSDKAddress.NewAddress()
addr.SetContainerID(cid.NewFromV2(v.GetHeader().GetContainerID()))
addr.SetObjectID(objectSDK.NewIDFromV2(v.GetObjectID()))
addr.SetObjectID(objectSDKID.NewIDFromV2(v.GetObjectID()))
}
hs := headersFromObject(object.NewFromV2(oV2), addr)
@ -165,7 +166,7 @@ func (h *headerSource) objectHeaders() ([]eaclSDK.Header, bool) {
}
func (h *headerSource) localObjectHeaders(addrV2 *refs.Address) ([]eaclSDK.Header, bool) {
addr := objectSDK.NewAddressFromV2(addrV2)
addr := objectSDKAddress.NewAddressFromV2(addrV2)
obj, err := h.storage.Head(addr)
if err == nil {
@ -182,14 +183,14 @@ func cidHeader(cid *cid.ID) eaclSDK.Header {
}
}
func oidHeader(oid *objectSDK.ID) eaclSDK.Header {
func oidHeader(oid *objectSDKID.ID) eaclSDK.Header {
return &sysObjHdr{
k: acl.FilterObjectID,
v: idValue(oid),
}
}
func addressHeaders(addr *objectSDK.Address) []eaclSDK.Header {
func addressHeaders(addr *objectSDKAddress.Address) []eaclSDK.Header {
res := make([]eaclSDK.Header, 1, 2)
res[0] = cidHeader(addr.ContainerID())

Some files were not shown because too many files have changed in this diff Show more