storage

package
v0.5.1-rc3 Latest Latest
Warning

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

Go to latest
Published: Mar 9, 2022 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.New("not found")

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

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

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

Functions

This section is empty.

Types

type DebugBatch added in v0.5.1

type DebugBatch struct {
	Batch  KeyValueTxn
	Logger Logger
}

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) 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() error // Returns an error if the close fails
	Begin(writable bool) KeyValueTxn
}

type KeyValueTxn

type KeyValueTxn interface {
	Get(key Key) ([]byte, error)
	Put(key Key, value []byte) error
	PutAll(map[Key][]byte) error
	Commit() error
	Discard()
}

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