forked from TrueCloudLab/frostfs-node
[#211] blobstor: Implement no-op GetSmall operation
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
2f61d8d63c
commit
2ba4ebc8c9
2 changed files with 46 additions and 0 deletions
27
pkg/local_object_storage/blobstor/get_small.go
Normal file
27
pkg/local_object_storage/blobstor/get_small.go
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
package blobstor
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/pkg/errors"
|
||||||
|
)
|
||||||
|
|
||||||
|
// GetSmallPrm groups the parameters of GetSmallPrm operation.
|
||||||
|
type GetSmallPrm struct {
|
||||||
|
address
|
||||||
|
rwBlobovniczaID
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetBigRes groups resulting values of GetBig operation.
|
||||||
|
type GetSmallRes struct {
|
||||||
|
roObject
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSmall reads the object from blobovnicza of BLOB storage by address.
|
||||||
|
//
|
||||||
|
// If blobovnicza ID is not set or set to nil, BlobStor tries to get object
|
||||||
|
// from any blobovnicza.
|
||||||
|
//
|
||||||
|
// Returns any error encountered that
|
||||||
|
// did not allow to completely read the object.
|
||||||
|
func (b *BlobStor) GetSmall(prm *GetSmallPrm) (*GetSmallRes, error) {
|
||||||
|
return nil, errors.New("method GetSmall is not implemented yet")
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package blobstor
|
||||||
import (
|
import (
|
||||||
objectSDK "github.com/nspcc-dev/neofs-api-go/pkg/object"
|
objectSDK "github.com/nspcc-dev/neofs-api-go/pkg/object"
|
||||||
"github.com/nspcc-dev/neofs-node/pkg/core/object"
|
"github.com/nspcc-dev/neofs-node/pkg/core/object"
|
||||||
|
"github.com/nspcc-dev/neofs-node/pkg/local_object_storage/blobovnicza"
|
||||||
)
|
)
|
||||||
|
|
||||||
type address struct {
|
type address struct {
|
||||||
|
@ -31,3 +32,21 @@ type rwObject struct {
|
||||||
func (o *rwObject) SetObject(obj *object.Object) {
|
func (o *rwObject) SetObject(obj *object.Object) {
|
||||||
o.obj = obj
|
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
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue