frostfs-node/pkg/services/object/acl/eacl/v2/opts.go
Evgenii Stratonikov 7318b70ba7 [#6] services/object: Simplify storage wrappers
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-01 15:29:54 +03:00

48 lines
852 B
Go

package v2
import (
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/engine"
cid "github.com/TrueCloudLab/frostfs-sdk-go/container/id"
oid "github.com/TrueCloudLab/frostfs-sdk-go/object/id"
)
func WithObjectStorage(v ObjectStorage) Option {
return func(c *cfg) {
c.storage = v
}
}
func WithLocalObjectStorage(v *engine.StorageEngine) Option {
return func(c *cfg) {
c.storage = (*localStorage)(v)
}
}
func WithServiceRequest(v Request) Option {
return func(c *cfg) {
c.msg = requestXHeaderSource{
req: v,
}
}
}
func WithServiceResponse(resp Response, req Request) Option {
return func(c *cfg) {
c.msg = responseXHeaderSource{
resp: resp,
req: req,
}
}
}
func WithCID(v cid.ID) Option {
return func(c *cfg) {
c.cnr = v
}
}
func WithOID(v *oid.ID) Option {
return func(c *cfg) {
c.obj = v
}
}