Documentation
¶
Index ¶
Constants ¶
View Source
const ( CsNone = "none" CsFull = "full" CsShrink = "shrink" CsExtend = "extend" )
--- Checksum ---
View Source
const SlowRequest = time.Second * time.Duration(10)
Variables ¶
This section is empty.
Functions ¶
func NewPageReader ¶
func NewPageReader(p *Page) *pageReader
Types ¶
type CacheManager ¶
type CacheManager interface {
// contains filtered or unexported methods
}
type ChunkStore ¶
type ChunkStore interface {
NewReader(id uint64, length int) Reader
NewWriter(id uint64) Writer
Remove(id uint64, length int) error
FillCache(id uint64, length uint32) error
EvictCache(id uint64, length uint32) error
CheckCache(id uint64, length uint32, handler func(exists bool, loc string, size int)) error
UsedMemory() int64
UpdateLimit(upload, download int64)
}
func NewCachedStore ¶
func NewCachedStore(storage object.ObjectStorage, config Config, reg prometheus.Registerer) ChunkStore
NewCachedStore create a cached store.
type Config ¶
type Config struct {
CacheDir string
CacheMode os.FileMode
CacheSize uint64
CacheItems int64
CacheChecksum string
CacheEviction string
CacheScanInterval time.Duration
CacheExpire time.Duration
OSCache bool
FreeSpace float32
AutoCreate bool
Compress string
MaxUpload int
MaxStageWrite int
MaxRetries int
UploadLimit int64 // bytes per second
DownloadLimit int64 // bytes per second
Writeback bool
UploadDelay time.Duration
UploadHours string
HashPrefix bool
BlockSize int
GetTimeout time.Duration
PutTimeout time.Duration
CacheFullBlock bool
CacheLargeWrite bool
BufferSize uint64
Readahead int
Prefetch int
}
Config contains options for cachedStore
func (*Config) CacheEnabled ¶ added in v0.1.3
type Controller ¶
func NewController ¶ added in v0.1.3
func NewController() *Controller
func (*Controller) TryPiggyback ¶ added in v0.1.3
func (con *Controller) TryPiggyback(key string) (*Page, error)
type DiskFreeRatio ¶ added in v0.1.3
type DiskFreeRatio struct {
// contains filtered or unexported fields
}
type Page ¶
type Page struct {
Data []byte
// contains filtered or unexported fields
}
Page is a page with refcount
func NewOffPage ¶
Click to show internal directories.
Click to hide internal directories.