Documentation
¶
Index ¶
- Variables
- type ConcurrencyLimiter
- type DeletePrm
- type DeleteRes
- type ExistsPrm
- type ExistsRes
- type GetPrm
- type GetRangePrm
- type GetRangeRes
- type GetRes
- type IteratePrm
- type IterateRes
- type IterationElement
- type IterationHandler
- type MetaStorage
- type PutPrm
- type PutRes
- type RateLimiter
- type RebuildLimiter
- type RebuildPrm
- type RebuildRes
- type ReleaseFunc
- type Storage
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 ConcurrencyLimiter ¶ added in v0.45.0
type ConcurrencyLimiter interface {
AcquireWorkSlot(ctx context.Context) (ReleaseFunc, error)
}
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 IgnoreErrors bool }
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 MetaStorage ¶ added in v0.38.0
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 RateLimiter ¶ added in v0.45.0
type RateLimiter interface { ReadRequest(context.Context) (ReleaseFunc, error) WriteRequest(context.Context) (ReleaseFunc, error) }
type RebuildLimiter ¶ added in v0.45.0
type RebuildLimiter interface { ConcurrencyLimiter RateLimiter }
type RebuildPrm ¶ added in v0.38.0
type RebuildPrm struct { MetaStorage MetaStorage Limiter RebuildLimiter FillPercent int }
type RebuildRes ¶ added in v0.38.0
type ReleaseFunc ¶ added in v0.45.0
type ReleaseFunc func()
type Storage ¶
type Storage interface { Open(mode mode.ComponentMode) error Init() error Close(context.Context) error Type() string Path() string ObjectsCount(ctx context.Context) (uint64, error) SetCompressor(cc *compression.Compressor) Compressor() *compression.Compressor // SetReportErrorFunc allows to provide a function to be called on disk errors. // This function MUST be called before Open. SetReportErrorFunc(f func(context.Context, string, error)) SetParentID(parentID string) Get(context.Context, GetPrm) (GetRes, error) GetRange(context.Context, GetRangePrm) (GetRangeRes, error) Exists(context.Context, ExistsPrm) (ExistsRes, error) Put(context.Context, PutPrm) (PutRes, error) Delete(context.Context, DeletePrm) (DeleteRes, error) Iterate(context.Context, IteratePrm) (IterateRes, error) Rebuild(context.Context, RebuildPrm) (RebuildRes, error) }
Storage represents key-value object storage. It is used as a building block for a blobstor of a shard.