storage

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KeyLength = 32 // Total bytes used for keys
)

Variables

View Source
var ErrNotFound = errors.StatusNotFound

ErrNotFound is returned by KeyValueDB.Get if the key is not found.

View Source
var ErrNotOpen = errors.New(errors.StatusInternalError, "not open")

ErrNotOpen is returned by KeyValueDB.Get, .Put, and .Close if the database is not open.

Functions

func DisableKeyNameTracking added in v1.0.0

func DisableKeyNameTracking()

func EnableKeyNameTracking added in v0.6.0

func EnableKeyNameTracking()

Types

type DebugBatch added in v0.5.1

type DebugBatch struct {
	Batch  KeyValueTxn
	Logger Logger

	Writable bool
	// contains filtered or unexported fields
}

func (*DebugBatch) Begin added in v0.5.1

func (b *DebugBatch) Begin(writable bool) KeyValueTxn

func (*DebugBatch) Commit added in v0.5.1

func (b *DebugBatch) Commit() error

func (*DebugBatch) Discard added in v0.5.1

func (b *DebugBatch) Discard()

func (*DebugBatch) Get added in v0.5.1

func (b *DebugBatch) Get(key Key) (v []byte, err error)

func (*DebugBatch) PretendWrite added in v0.5.1

func (b *DebugBatch) PretendWrite()

func (*DebugBatch) Put added in v0.5.1

func (b *DebugBatch) Put(key Key, value []byte) error

func (*DebugBatch) PutAll added in v0.5.1

func (b *DebugBatch) PutAll(values map[Key][]byte) error

type Key

type Key [KeyLength]byte

func MakeKey

func MakeKey(keys ...interface{}) Key

func (Key) Append

func (k Key) Append(key ...interface{}) Key

func (Key) MarshalJSON

func (k Key) MarshalJSON() ([]byte, error)

MarshalJSON is implemented for JSON-based logging

func (Key) String

func (k Key) String() string

String hex encodes the key. If debugging is enabled, String looks up the original composite key.

type KeyValueStore

type KeyValueStore interface {
	// Close closes the store.
	Close() error
	// Begin begins a transaction.
	Begin(writable bool) KeyValueTxn
}

type KeyValueTxn

type KeyValueTxn interface {
	// Get gets a value.
	Get(key Key) ([]byte, error)
	// Put puts a value.
	Put(key Key, value []byte) error
	// PutAll puts many values.
	PutAll(map[Key][]byte) error
	// Commit commits the transaction.
	Commit() error
	// Discard discards the transaction.
	Discard()
	// Begin begins a sub-transaction.
	Begin(writable bool) KeyValueTxn
}

type Logger

type Logger interface {
	Debug(msg string, keyVals ...interface{})
	Info(msg string, keyVals ...interface{})
	Error(msg string, keyVals ...interface{})
}

Logger defines a generic logging interface compatible with Tendermint (stolen from Tendermint).

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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