2022-07-08 07:09:48 +00:00
|
|
|
package common
|
|
|
|
|
2022-12-23 17:35:35 +00:00
|
|
|
import "github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/blobstor/compression"
|
2022-07-11 12:34:17 +00:00
|
|
|
|
2022-07-08 07:09:48 +00:00
|
|
|
// Storage represents key-value object storage.
|
|
|
|
// It is used as a building block for a blobstor of a shard.
|
|
|
|
type Storage interface {
|
2022-07-08 11:33:49 +00:00
|
|
|
Open(readOnly bool) error
|
|
|
|
Init() error
|
|
|
|
Close() error
|
|
|
|
|
|
|
|
Type() string
|
2022-10-05 12:11:12 +00:00
|
|
|
Path() string
|
2022-08-19 14:29:53 +00:00
|
|
|
SetCompressor(cc *compression.Config)
|
2022-11-09 10:59:24 +00:00
|
|
|
// SetReportErrorFunc allows to provide a function to be called on disk errors.
|
|
|
|
// This function MUST be called before Open.
|
|
|
|
SetReportErrorFunc(f func(string, error))
|
2022-07-08 11:33:49 +00:00
|
|
|
|
2022-07-08 07:09:48 +00:00
|
|
|
Get(GetPrm) (GetRes, error)
|
|
|
|
GetRange(GetRangePrm) (GetRangeRes, error)
|
|
|
|
Exists(ExistsPrm) (ExistsRes, error)
|
|
|
|
Put(PutPrm) (PutRes, error)
|
|
|
|
Delete(DeletePrm) (DeleteRes, error)
|
|
|
|
Iterate(IteratePrm) (IterateRes, error)
|
|
|
|
}
|