[#1715] compression: Decouple Config and Compressor

Refactoring.

Change-Id: Ide2e1378f30c39045d4bacd13a902331bd4f764f
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
Dmitrii Stepanov 2025-04-14 16:18:08 +03:00
parent 98308d0cad
commit 8c746a914a
12 changed files with 49 additions and 41 deletions

View file

@ -45,7 +45,7 @@ type FSTree struct {
log *logger.Logger
*compression.Config
compressor *compression.Compressor
Depth uint64
DirNameLen int
@ -82,7 +82,7 @@ func New(opts ...Option) *FSTree {
Permissions: 0o700,
RootPath: "./",
},
Config: nil,
compressor: nil,
Depth: 4,
DirNameLen: DirNameLen,
metrics: &noopMetrics{},
@ -196,7 +196,7 @@ func (t *FSTree) iterate(ctx context.Context, depth uint64, curPath []string, pr
}
if err == nil {
data, err = t.Decompress(data)
data, err = t.compressor.Decompress(data)
}
if err != nil {
if prm.IgnoreErrors {
@ -405,7 +405,7 @@ func (t *FSTree) Put(ctx context.Context, prm common.PutPrm) (common.PutRes, err
return common.PutRes{}, err
}
if !prm.DontCompress {
prm.RawData = t.Compress(prm.RawData)
prm.RawData = t.compressor.Compress(prm.RawData)
}
size = len(prm.RawData)
@ -448,7 +448,7 @@ func (t *FSTree) Get(ctx context.Context, prm common.GetPrm) (common.GetRes, err
}
}
data, err = t.Decompress(data)
data, err = t.compressor.Decompress(data)
if err != nil {
return common.GetRes{}, err
}
@ -597,12 +597,12 @@ func (t *FSTree) Path() string {
}
// SetCompressor implements common.Storage.
func (t *FSTree) SetCompressor(cc *compression.Config) {
t.Config = cc
func (t *FSTree) SetCompressor(cc *compression.Compressor) {
t.compressor = cc
}
func (t *FSTree) Compressor() *compression.Config {
return t.Config
func (t *FSTree) Compressor() *compression.Compressor {
return t.compressor
}
// SetReportErrorFunc implements common.Storage.