persistent

package
v0.5.3 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2019 License: GPL-3.0 Imports: 7 Imported by: 0

README

Persistent

Documentation

Index

Constants

View Source
const IdealBatchSize = 100 * 1024

Code using batches should try to add this much data to the batch. The value was determined empirically.

Variables

View Source
var (
	ErrKeyNotFound = errors.New("not found")
)

Functions

This section is empty.

Types

type Batch

type Batch interface {
	Putter
	Deleter

	ValueSize() int
	Write() error
	Reset()
}

type Deleter

type Deleter interface {
	Del(key []byte) error
}

type Getter

type Getter interface {
	Get(key []byte) ([]byte, error)
	Has(key []byte) (bool, error)
}

type LevelStorage

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

func NewLevelStorage

func NewLevelStorage(path string) (*LevelStorage, error)

func (*LevelStorage) Close

func (storage *LevelStorage) Close() error

func (*LevelStorage) Del

func (storage *LevelStorage) Del(key []byte) error

func (*LevelStorage) Get

func (storage *LevelStorage) Get(key []byte) ([]byte, error)

func (*LevelStorage) GetLevelDB

func (storage *LevelStorage) GetLevelDB() *leveldb.DB

func (*LevelStorage) Has

func (storage *LevelStorage) Has(key []byte) (bool, error)

func (*LevelStorage) NewBatch

func (storage *LevelStorage) NewBatch() Batch

func (*LevelStorage) Put

func (storage *LevelStorage) Put(key []byte, value []byte) error

type MemoryStorage

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

func NewMemoryStorage

func NewMemoryStorage() *MemoryStorage

func (*MemoryStorage) Close

func (db *MemoryStorage) Close() error

func (*MemoryStorage) Del

func (db *MemoryStorage) Del(key []byte) error

func (*MemoryStorage) Get

func (db *MemoryStorage) Get(key []byte) ([]byte, error)

func (*MemoryStorage) Has

func (db *MemoryStorage) Has(key []byte) (bool, error)

func (*MemoryStorage) NewBatch

func (db *MemoryStorage) NewBatch() Batch

func (*MemoryStorage) Put

func (db *MemoryStorage) Put(key []byte, value []byte) error

type Putter

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

type Storage

type Storage interface {
	Getter
	Putter
	Deleter

	Close() error

	NewBatch() Batch
}

func NewTable

func NewTable(storage Storage, prefix string) Storage

NewTable returns a wrapped storage, which prefixes all keys

Jump to

Keyboard shortcuts

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