forked from TrueCloudLab/frostfs-node
42 lines
764 B
Go
42 lines
764 B
Go
package memstore
|
|
|
|
import (
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobstor/compression"
|
|
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/logger"
|
|
"go.uber.org/zap"
|
|
)
|
|
|
|
type cfg struct {
|
|
log *logger.Logger
|
|
rootPath string
|
|
readOnly bool
|
|
compression *compression.Config
|
|
reportError func(string, error)
|
|
}
|
|
|
|
func defaultConfig() *cfg {
|
|
return &cfg{
|
|
log: &logger.Logger{Logger: zap.L()},
|
|
reportError: func(string, error) {},
|
|
}
|
|
}
|
|
|
|
type Option func(*cfg)
|
|
|
|
func WithLogger(l *logger.Logger) Option {
|
|
return func(c *cfg) {
|
|
c.log = l
|
|
}
|
|
}
|
|
|
|
func WithRootPath(p string) Option {
|
|
return func(c *cfg) {
|
|
c.rootPath = p
|
|
}
|
|
}
|
|
|
|
func WithReadOnly(ro bool) Option {
|
|
return func(c *cfg) {
|
|
c.readOnly = ro
|
|
}
|
|
}
|