forked from TrueCloudLab/frostfs-node
[#6] services/object: Simplify storage wrappers
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
9ca20ad80f
commit
724346a704
5 changed files with 12 additions and 18 deletions
|
@ -46,7 +46,7 @@ type headerSource struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *cfg) initDefault() {
|
func (c *cfg) initDefault() {
|
||||||
c.storage = new(localStorage)
|
c.storage = (*localStorage)(nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMessageHeaderSource(opts ...Option) (eaclSDK.TypedHeaderSource, error) {
|
func NewMessageHeaderSource(opts ...Option) (eaclSDK.TypedHeaderSource, error) {
|
||||||
|
|
|
@ -8,14 +8,12 @@ import (
|
||||||
oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id"
|
oid "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/object/id"
|
||||||
)
|
)
|
||||||
|
|
||||||
type localStorage struct {
|
type localStorage engine.StorageEngine
|
||||||
ls *engine.StorageEngine
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *localStorage) Head(addr oid.Address) (*objectSDK.Object, error) {
|
func (s *localStorage) Head(addr oid.Address) (*objectSDK.Object, error) {
|
||||||
if s.ls == nil {
|
if s == nil {
|
||||||
return nil, io.ErrUnexpectedEOF
|
return nil, io.ErrUnexpectedEOF
|
||||||
}
|
}
|
||||||
|
|
||||||
return engine.Head(s.ls, addr)
|
return engine.Head((*engine.StorageEngine)(s), addr)
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,9 +14,7 @@ func WithObjectStorage(v ObjectStorage) Option {
|
||||||
|
|
||||||
func WithLocalObjectStorage(v *engine.StorageEngine) Option {
|
func WithLocalObjectStorage(v *engine.StorageEngine) Option {
|
||||||
return func(c *cfg) {
|
return func(c *cfg) {
|
||||||
c.storage = &localStorage{
|
c.storage = (*localStorage)(v)
|
||||||
ls: v,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,6 @@ type epochSource interface {
|
||||||
|
|
||||||
func (c *cfg) initDefault() {
|
func (c *cfg) initDefault() {
|
||||||
c.log = &logger.Logger{Logger: zap.L()}
|
c.log = &logger.Logger{Logger: zap.L()}
|
||||||
c.localStorage = new(storageEngineWrapper)
|
|
||||||
c.clientCache = new(clientCacheWrapper)
|
c.clientCache = new(clientCacheWrapper)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +78,7 @@ func WithLogger(l *logger.Logger) Option {
|
||||||
// instance.
|
// instance.
|
||||||
func WithLocalStorageEngine(e *engine.StorageEngine) Option {
|
func WithLocalStorageEngine(e *engine.StorageEngine) Option {
|
||||||
return func(c *cfg) {
|
return func(c *cfg) {
|
||||||
c.localStorage.(*storageEngineWrapper).engine = e
|
c.localStorage = (*storageEngineWrapper)(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,7 @@ type clientWrapper struct {
|
||||||
client coreclient.MultiAddressClient
|
client coreclient.MultiAddressClient
|
||||||
}
|
}
|
||||||
|
|
||||||
type storageEngineWrapper struct {
|
type storageEngineWrapper engine.StorageEngine
|
||||||
engine *engine.StorageEngine
|
|
||||||
}
|
|
||||||
|
|
||||||
type partWriter struct {
|
type partWriter struct {
|
||||||
ObjectWriter
|
ObjectWriter
|
||||||
|
@ -192,13 +190,14 @@ func (c *clientWrapper) get(exec *execCtx, key *ecdsa.PrivateKey) (*object.Objec
|
||||||
return res.Object(), nil
|
return res.Object(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *storageEngineWrapper) get(exec *execCtx) (*object.Object, error) {
|
func (w *storageEngineWrapper) get(exec *execCtx) (*object.Object, error) {
|
||||||
|
e := (*engine.StorageEngine)(w)
|
||||||
if exec.headOnly {
|
if exec.headOnly {
|
||||||
var headPrm engine.HeadPrm
|
var headPrm engine.HeadPrm
|
||||||
headPrm.WithAddress(exec.prm.addr)
|
headPrm.WithAddress(exec.prm.addr)
|
||||||
headPrm.WithRaw(exec.prm.raw)
|
headPrm.WithRaw(exec.prm.raw)
|
||||||
|
|
||||||
r, err := e.engine.Head(headPrm)
|
r, err := e.Head(headPrm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -209,7 +208,7 @@ func (e *storageEngineWrapper) get(exec *execCtx) (*object.Object, error) {
|
||||||
getRange.WithAddress(exec.prm.addr)
|
getRange.WithAddress(exec.prm.addr)
|
||||||
getRange.WithPayloadRange(rng)
|
getRange.WithPayloadRange(rng)
|
||||||
|
|
||||||
r, err := e.engine.GetRange(getRange)
|
r, err := e.GetRange(getRange)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -219,7 +218,7 @@ func (e *storageEngineWrapper) get(exec *execCtx) (*object.Object, error) {
|
||||||
var getPrm engine.GetPrm
|
var getPrm engine.GetPrm
|
||||||
getPrm.WithAddress(exec.prm.addr)
|
getPrm.WithAddress(exec.prm.addr)
|
||||||
|
|
||||||
r, err := e.engine.Get(getPrm)
|
r, err := e.Get(getPrm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue