cache

package
v0.14.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2023 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	READAHEAD_CHUNK = uint64(32 * 1024 * 1024)
	TimeFormat      = "2006-01-02-15:04:05"
)
View Source
const (
	FileClient = "fileClient"
	CacheDir   = "datacache"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Buffer

type Buffer struct {
	// contains filtered or unexported fields
}

func (*Buffer) Close

func (b *Buffer) Close() (err error)

func (*Buffer) Init

func (b *Buffer) Init(page *Page, r ReaderProvider) *Buffer

func (*Buffer) ReInit

func (b *Buffer) ReInit(r ReaderProvider) *Buffer

func (*Buffer) ReadAt

func (b *Buffer) ReadAt(p []byte, offset uint64) (n int, err error)

type BufferPool

type BufferPool struct {
	// contains filtered or unexported fields
}

func (*BufferPool) Init

func (pool *BufferPool) Init(size int) *BufferPool

func (*BufferPool) MaybeGC

func (pool *BufferPool) MaybeGC()

func (*BufferPool) RequestMBuf

func (pool *BufferPool) RequestMBuf(size uint64, block bool, blockSize int) []byte

type Config

type Config struct {
	kv.Config
	BlockSize    int
	MaxReadAhead int
	Expire       time.Duration
}

type DataCacheClient

type DataCacheClient interface {
	// contains filtered or unexported methods
}

func NewDataCache

func NewDataCache(config Config) DataCacheClient

type Page

type Page struct {
	// contains filtered or unexported fields
}

func (*Page) Free

func (p *Page) Free()

func (*Page) Init

func (p *Page) Init(pool *BufferPool, size uint64, block bool, blockSize int) *Page

func (*Page) ReadAt

func (p *Page) ReadAt(buf []byte, offset uint64) (n int, err error)

func (*Page) WriteFrom

func (p *Page) WriteFrom(reader io.Reader) (n int, err error)

type ReadBuffer

type ReadBuffer struct {
	Buffer *Buffer
	// contains filtered or unexported fields
}

func (*ReadBuffer) Init

func (b *ReadBuffer) Init(pool *BufferPool, blocksize int) *ReadBuffer

func (*ReadBuffer) ReadAt

func (b *ReadBuffer) ReadAt(offset uint64, p []byte) (n int, err error)

type ReadBufferMap

type ReadBufferMap map[uint64]*ReadBuffer

type ReadCloser

type ReadCloser interface {
	io.Reader
	io.ReaderAt
	io.Closer
}

type Reader

type Reader interface {
	io.ReaderAt
}

type ReaderProvider

type ReaderProvider func() (io.ReadCloser, error)

type Store

type Store interface {
	NewReader(name string, length int, flags uint32, ufs ufs.UnderFileStorage,
		buffers ReadBufferMap, bufferPool *BufferPool, seqReadAmount uint64) Reader
	NewWriter(name string, length int, ufsFh ufs.FileHandle) Writer
	InvalidateCache(name string, length int) error
}

func NewCacheStore

func NewCacheStore(config Config) Store

type Writer

type Writer interface {
	io.WriterAt
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL