Documentation ¶
Index ¶
- Constants
- Variables
- func MakeFilename(fileType FileType, fileNum FileNum) string
- func MakeFilepath(fs vfs.FS, dirname string, fileType FileType, fileNum FileNum) string
- func ParseFilename(fs vfs.FS, filename string) (fileType FileType, fileNum FileNum, ok bool)
- type Bithash
- func (b *Bithash) CheckFilesDelPercent(cfgPercent float64) []CompactFiles
- func (b *Bithash) CheckFilesMiniSize() []CompactFiles
- func (b *Bithash) Checkpoint(fs vfs.FS, destDir string) (err error)
- func (b *Bithash) Close() (err error)
- func (b *Bithash) DebugInfo(dataType string) string
- func (b *Bithash) Delete(fn FileNum) error
- func (b *Bithash) DeleteFileNumMap(fn FileNum)
- func (b *Bithash) FlushFinish(wr *BithashWriter) error
- func (b *Bithash) FlushStart() (*BithashWriter, error)
- func (b *Bithash) Get(key []byte, khash uint32, fn FileNum) (value []byte, putPool func(), err error)
- func (b *Bithash) GetFileNumMap(src FileNum) (dst FileNum)
- func (b *Bithash) NewBithashWriter(compact bool) (*BithashWriter, error)
- func (b *Bithash) NewTableIter(fileNum FileNum) (*TableIterator, error)
- func (b *Bithash) RemoveTableFiles(fileNums []FileNum)
- func (b *Bithash) SetFileNumMap(dst FileNum, src FileNum)
- func (b *Bithash) Stats() *Stats
- func (b *Bithash) StatsAddKeyTotal(n int)
- func (b *Bithash) StatsGetDelKeyTotal() uint64
- func (b *Bithash) StatsSetDelKeyTotal(n int)
- func (b *Bithash) StatsSubDelKeyTotal(n int)
- func (b *Bithash) StatsSubKeyTotal(n int)
- func (b *Bithash) StatsToString() string
- func (b *Bithash) TableMaxSize() int64
- type BithashMetadata
- type BithashWriter
- func (w *BithashWriter) Add(ikey base.InternalKey, value []byte) (FileNum, error)
- func (w *BithashWriter) AddIkey(key *InternalKey, value []byte, khash uint32, fileNum FileNum) error
- func (w *BithashWriter) Finish() error
- func (w *BithashWriter) GetFileNum() FileNum
- func (w *BithashWriter) Remove() error
- type BlockHandle
- type CompactFiles
- type Compare
- type Comparer
- type Equal
- type FS
- type File
- type FileNum
- type FileReopenOpt
- type FileType
- type InternalKey
- type ReadableFile
- type Reader
- type ReaderOption
- type Separator
- type Split
- type Stats
- type Successor
- type TableIterator
- type Writer
- func (w *Writer) Add(ikey base.InternalKey, value []byte) error
- func (w *Writer) AddIkey(ikey InternalKey, value []byte, khash uint32, fileNum FileNum) error
- func (w *Writer) Close() (err error)
- func (w *Writer) Flush() error
- func (w *Writer) Get(key []byte, khash uint32) ([]byte, func(), error)
- func (w *Writer) Remove() error
- type WriterMetadata
- type WriterOption
Constants ¶
View Source
const ( InternalKeyKindDelete = base.InternalKeyKindDelete InternalKeyKindSet = base.InternalKeyKindSet InternalKeyKindInvalid = base.InternalKeyKindInvalid )
View Source
const ( MetaIndexHashBH = "indexhash_blockhandle" MetaConflictBH = "conflict_blockhandle" MetaDataBH = "data_blockhandle" IndexHashData = "indexhash_data" IndexHashChecksum = "indexhash_checksum" )
Variables ¶
View Source
var ( ErrBhNewReaderNoFile = errors.New("bithash new reader nil file") ErrBhNewReaderFail = errors.New("bithash: new reader fail") ErrBhReaderClosed = errors.New("bithash: reader is closed") ErrBhWriterClosed = errors.New("bithash: writer is closed") ErrBhIllegalBlockLength = errors.New("bithash: illegal block handle length") ErrBhCreateTableFile = errors.New("bithash: create table file fail") ErrBhOpenTableFile = errors.New("bithash: open table file fail") ErrBhFileNumError = errors.New("bithash: fileNum error") ErrBhFileNotImmutable = errors.New("bithash: table is not immutable") ErrBhFileNumZero = errors.New("bithash: fileNum zero") ErrBhReadRecordNil = errors.New("bithash: read record nil") ErrBhReadAtIncomplete = errors.New("bithash: readAt incomplete") ErrBhNotFound = errors.New("bithash: not found") ErrBhKeyTooLarge = errors.New("bithash: key too large") ErrBhValueTooLarge = errors.New("bithash: value too large") ErrBhHashIndexWriteFail = errors.New("bithash: hash_index write fail") ErrBhHashIndexReadFail = errors.New("bithash: hash_index read fail") ErrBhFileNumMapCheckFail = errors.New("bithash: check fileNumMap file footer fail") ErrBhInvalidTableSize = errors.New("bithash: invalid table file size is too small") ErrBhInvalidTableMeta = errors.New("bithash:invalid table bad metaBH") )
Functions ¶
func MakeFilename ¶
func MakeFilepath ¶
Types ¶
type Bithash ¶
type Bithash struct {
// contains filtered or unexported fields
}
func (*Bithash) CheckFilesDelPercent ¶
func (b *Bithash) CheckFilesDelPercent(cfgPercent float64) []CompactFiles
func (*Bithash) CheckFilesMiniSize ¶
func (b *Bithash) CheckFilesMiniSize() []CompactFiles
func (*Bithash) DeleteFileNumMap ¶
func (*Bithash) FlushFinish ¶
func (b *Bithash) FlushFinish(wr *BithashWriter) error
func (*Bithash) FlushStart ¶
func (b *Bithash) FlushStart() (*BithashWriter, error)
func (*Bithash) GetFileNumMap ¶
func (*Bithash) NewBithashWriter ¶
func (b *Bithash) NewBithashWriter(compact bool) (*BithashWriter, error)
func (*Bithash) NewTableIter ¶
func (b *Bithash) NewTableIter(fileNum FileNum) (*TableIterator, error)
func (*Bithash) RemoveTableFiles ¶
func (*Bithash) SetFileNumMap ¶
func (*Bithash) StatsAddKeyTotal ¶
func (*Bithash) StatsGetDelKeyTotal ¶
func (*Bithash) StatsSetDelKeyTotal ¶
func (*Bithash) StatsSubDelKeyTotal ¶
func (*Bithash) StatsSubKeyTotal ¶
func (*Bithash) StatsToString ¶
func (*Bithash) TableMaxSize ¶
type BithashMetadata ¶
type BithashMetadata struct {
// contains filtered or unexported fields
}
type BithashWriter ¶
type BithashWriter struct {
// contains filtered or unexported fields
}
func (*BithashWriter) Add ¶
func (w *BithashWriter) Add(ikey base.InternalKey, value []byte) (FileNum, error)
func (*BithashWriter) AddIkey ¶
func (w *BithashWriter) AddIkey(key *InternalKey, value []byte, khash uint32, fileNum FileNum) error
func (*BithashWriter) Finish ¶
func (w *BithashWriter) Finish() error
func (*BithashWriter) GetFileNum ¶
func (w *BithashWriter) GetFileNum() FileNum
func (*BithashWriter) Remove ¶
func (w *BithashWriter) Remove() error
type BlockHandle ¶
type BlockHandle struct {
Offset, Length uint32
}
type CompactFiles ¶
type FileReopenOpt ¶
type FileReopenOpt struct {
// contains filtered or unexported fields
}
type InternalKey ¶
type InternalKey = base.InternalKey
type ReadableFile ¶
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
func NewReader ¶
func NewReader(b *Bithash, f ReadableFile, extraOpts ...ReaderOption) (r *Reader, err error)
type ReaderOption ¶
type ReaderOption interface {
// contains filtered or unexported methods
}
type TableIterator ¶
type TableIterator struct {
// contains filtered or unexported fields
}
func (*TableIterator) Close ¶
func (i *TableIterator) Close() error
func (*TableIterator) First ¶
func (i *TableIterator) First() (key *InternalKey, value []byte, fileNum FileNum)
func (*TableIterator) Next ¶
func (i *TableIterator) Next() (key *InternalKey, value []byte, fileNum FileNum)
func (*TableIterator) Valid ¶
func (i *TableIterator) Valid() bool
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
type WriterMetadata ¶
type WriterMetadata struct { Size uint32 // contains filtered or unexported fields }
type WriterOption ¶
type WriterOption interface {
// contains filtered or unexported methods
}
Click to show internal directories.
Click to hide internal directories.