Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNoSpace = logicerr.New("no free space")
ErrNoSpace MUST be returned when there is no space to put an object on the device.
var ErrReadOnly = logicerr.New("opened as read-only")
ErrReadOnly MUST be returned for modifying operations when the storage was opened in readonly mode.
Functions ¶
This section is empty.
Types ¶
type ExistsRes ¶
type ExistsRes struct {
Exists bool
}
ExistsRes groups the resulting values of Exists operation.
type GetRangePrm ¶
type GetRangeRes ¶
type GetRangeRes struct {
Data []byte
}
type IteratePrm ¶
type IteratePrm struct {
Handler IterationHandler
LazyHandler func(oid.Address, func() ([]byte, error)) error
IgnoreErrors bool
ErrorHandler func(oid.Address, error) error
}
IteratePrm groups the parameters of Iterate operation.
type IterateRes ¶
type IterateRes struct{}
IterateRes groups the resulting values of Iterate operation.
type IterationElement ¶
IterationElement represents a unit of elements through which Iterate operation passes.
type IterationHandler ¶
type IterationHandler func(IterationElement) error
IterationHandler is a generic processor of IterationElement.
type PutPrm ¶
type PutPrm struct {
Address oid.Address
Object *objectSDK.Object
RawData []byte
DontCompress bool
}
PutPrm groups the parameters of Put operation.
type PutRes ¶
type PutRes struct {
StorageID []byte
}
PutRes groups the resulting values of Put operation.
type Storage ¶
type Storage interface {
Open(readOnly bool) error
Init() error
Close() error
Type() string
Path() string
SetCompressor(cc *compression.Config)
// SetReportErrorFunc allows to provide a function to be called on disk errors.
// This function MUST be called before Open.
SetReportErrorFunc(f func(string, error))
Get(context.Context, GetPrm) (GetRes, error)
GetRange(context.Context, GetRangePrm) (GetRangeRes, error)
Exists(context.Context, ExistsPrm) (ExistsRes, error)
Put(PutPrm) (PutRes, error)
Delete(DeletePrm) (DeleteRes, error)
Iterate(IteratePrm) (IterateRes, error)
}
Storage represents key-value object storage. It is used as a building block for a blobstor of a shard.