storage

package
v1.12.0 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2021 License: GPL-3.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrorNotFound = fmt.Errorf("not found in DB")
)

Functions

This section is empty.

Types

type Batch

type Batch interface {
	Put(key, value []byte)
	Delete(key []byte)
	Commit()
}

type Iterator

type Iterator interface {
	// Next moves the iterator to the next key/value pair.
	// It returns false if the iterator is exhausted.
	Next() bool

	// Prev moves the iterator to the previous key/value pair.
	// It returns false if the iterator is exhausted.
	Prev() bool

	// Seek moves the iterator to the first key/value pair whose key is greater
	// than or equal to the given key.
	// It returns whether such pair exist.
	//
	// It is safe to modify the contents of the argument after Seek returns.
	Seek(key []byte) bool

	// Key returns the key of the current key/value pair, or nil if done.
	Key() []byte

	// Value returns the value of the current key/value pair, or nil if done.
	Value() []byte
}

type Storage

type Storage interface {
	Write

	// Get retrieves the object `value` named by `key`.
	// Get will return nil if the key is not mapped to a value.
	Get(key []byte) []byte

	// Has returns whether the `key` is mapped to a `value`.
	Has(key []byte) bool

	// Iterator iterates over a DB's key/value pairs in key order.
	Iterator(start, end []byte) Iterator

	// QueryByPrefix iterates over a DB's key/value pairs in key order including prefix.
	Prefix(prefix []byte) Iterator

	NewBatch() Batch

	Close() error
}

type Write

type Write interface {
	// Put stores the object `value` named by `key`.
	Put(key, value []byte)

	// Delete removes the value for given `key`.
	Delete(key []byte)
}

Write is the write-side of the storage interface.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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