frostfs-node/pkg/local_object_storage/blobstor/util.go
Leonard Lyubich 7ccd1625af [#1214] *: Use single Object type in whole project
Remove `Object` and `RawObject` types from `pkg/core/object` package.
Use `Object` type from NeoFS SDK Go library everywhere. Avoid using the
deprecated elements.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-04 17:45:00 +03:00

79 lines
1.4 KiB
Go

package blobstor
import (
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
"github.com/nspcc-dev/neofs-sdk-go/object"
addressSDK "github.com/nspcc-dev/neofs-sdk-go/object/address"
)
type address struct {
addr *addressSDK.Address
}
// SetAddress sets the address of the requested object.
func (a *address) SetAddress(addr *addressSDK.Address) {
a.addr = addr
}
type roObject struct {
obj *object.Object
}
// Object returns the object.
func (o roObject) Object() *object.Object {
return o.obj
}
type rwObject struct {
roObject
}
// SetObject sets the object.
func (o *rwObject) SetObject(obj *object.Object) {
o.obj = obj
}
type roBlobovniczaID struct {
blobovniczaID *blobovnicza.ID
}
// BlobovniczaID returns blobovnicza ID.
func (v roBlobovniczaID) BlobovniczaID() *blobovnicza.ID {
return v.blobovniczaID
}
type rwBlobovniczaID struct {
roBlobovniczaID
}
// SetBlobovniczaID sets blobovnicza ID.
func (v *rwBlobovniczaID) SetBlobovniczaID(id *blobovnicza.ID) {
v.blobovniczaID = id
}
type roRange struct {
rng *object.Range
}
// Range returns range of the object payload.
func (r roRange) Range() *object.Range {
return r.rng
}
type rwRange struct {
roRange
}
// SetRange sets range of the object payload.
func (r *rwRange) SetRange(rng *object.Range) {
r.rng = rng
}
type rangeData struct {
data []byte
}
// RangeData returns data of the requested payload range.
func (d rangeData) RangeData() []byte {
return d.data
}