minidb

package
v0.0.0-...-04a9449 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var EAllocFailed = errors.New("EAllocFailed")

Functions

This section is empty.

Types

type DB

type DB struct {
	PDB
	// contains filtered or unexported fields
}

func OpenDB

func OpenDB(
	s storage.Storage,
	o *opt.Options,
	pool *util.BufferPool,
	cach *cache.Cache,
	merger MergerMk,
) (*DB, error)

type Merger

type Merger interface {
	Add(b []byte) (err error)
	AddAll(bb [][]byte) (err error)
	Compactify()
	Extract() []byte
}

type MergerMk

type MergerMk func() Merger

type PDB

type PDB struct {
	Writ   SegmentWriter
	Segs   []Segment
	Merger MergerMk
}

func (*PDB) Get

func (p *PDB) Get(key []byte) (value []byte, err error)

func (*PDB) Put

func (p *PDB) Put(key, value []byte) error

type Segment

type Segment interface {
	Get(key []byte) ([]byte, error)
	NewIterator(slice *util.Range) iterator.Iterator
}

type SegmentWriter

type SegmentWriter interface {
	Put(key, value []byte) error
}

type WritableSegment

type WritableSegment interface {
	Segment
	SegmentWriter
}

Jump to

Keyboard shortcuts

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