Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListStores

func ListStores() []string

func Register

func Register(s Store)

Types

type GoSlice

type GoSlice []byte

func (GoSlice) Data

func (s GoSlice) Data() []byte

func (GoSlice) Free

func (s GoSlice) Free()

func (GoSlice) Size

func (s GoSlice) Size() int

type IDB

type IDB interface {
	Close() error

	Get(key []byte) ([]byte, error)

	Put(key []byte, value []byte) error
	Delete(key []byte) error

	SyncPut(key []byte, value []byte) error
	SyncDelete(key []byte) error

	NewIterator() IIterator

	NewWriteBatch() IWriteBatch

	NewSnapshot() (ISnapshot, error)

	Compact() error
}

type IIterator

type IIterator interface {
	Close() error

	First()
	Last()
	Seek(key []byte)

	Next()
	Prev()

	Valid() bool

	Key() []byte
	Value() []byte
}

type ISlice

type ISlice interface {
	Data() []byte
	Size() int
	Free()
}

type ISliceGeter

type ISliceGeter interface {
	GetSlice(key []byte) (ISlice, error)
}

type ISnapshot

type ISnapshot interface {
	Get(key []byte) ([]byte, error)
	NewIterator() IIterator
	Close()
}

type IWriteBatch

type IWriteBatch interface {
	Put(key []byte, value []byte)
	Delete(key []byte)
	Commit() error
	SyncCommit() error
	Rollback() error
	Data() []byte
	Close()
}

type Store

type Store interface {
	String() string
	Open(path string, cfg *config.Config) (IDB, error)
	Repair(path string, cfg *config.Config) error
}

func GetStore

func GetStore(cfg *config.Config) (Store, error)