driver

package
Version: v0.0.0-...-0df215e Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2016 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrTxSupport = errors.New("transaction is not supported")
)

Functions

func ListStores

func ListStores() []string

func Register

func Register(s Store)

Types

type BatchPuter

type BatchPuter interface {
	BatchPut([]Write) error
	SyncBatchPut([]Write) error
}

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)

	Begin() (Tx, 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)

type Tx

type Tx interface {
	Get(key []byte) ([]byte, error)
	Put(key []byte, value []byte) error
	Delete(key []byte) error

	NewIterator() IIterator
	NewWriteBatch() IWriteBatch

	Commit() error
	Rollback() error
}

type Write

type Write struct {
	Key   []byte
	Value []byte
}

type WriteBatch

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

func NewWriteBatch

func NewWriteBatch(puter BatchPuter) *WriteBatch

func (*WriteBatch) Close

func (wb *WriteBatch) Close()

func (*WriteBatch) Commit

func (wb *WriteBatch) Commit() error

func (*WriteBatch) Data

func (wb *WriteBatch) Data() []byte

func (*WriteBatch) Delete

func (wb *WriteBatch) Delete(key []byte)

func (*WriteBatch) Put

func (wb *WriteBatch) Put(key, value []byte)

func (*WriteBatch) Rollback

func (wb *WriteBatch) Rollback() error

func (*WriteBatch) SyncCommit

func (wb *WriteBatch) SyncCommit() error

Jump to

Keyboard shortcuts

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