Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNotFound = errors.New("not found")
ErrNotFound is returned when a pre-image cannot be found in the KV store.
Functions ¶
This section is empty.
Types ¶
type FileKV ¶ added in v1.9.2
FileKV is a disk-backed key-value store, every key-value pair is a hex-encoded .txt file, with the value as content. FileKV is safe for concurrent use with a single FileKV instance. FileKV is safe for concurrent use between different FileKV instances of the same disk directory as long as the file system supports atomic renames.
type KV ¶
type KV interface {
// Put puts the pre-image value v in the key-value store with key k.
// KV store implementations may return additional errors specific to the KV storage.
Put(k common.Hash, v []byte) error
// Get retrieves the pre-image with key k from the key-value store.
// It returns ErrNotFound when the pre-image cannot be found.
// KV store implementations may return additional errors specific to the KV storage.
Get(k common.Hash) ([]byte, error)
// Closes the KV store.
Close() error
}
KV is a Key-Value store interface for pre-image data.
type LocalPreimageSource ¶ added in v1.0.5
type LocalPreimageSource struct {
// contains filtered or unexported fields
}
func NewLocalPreimageSource ¶ added in v1.0.5
func NewLocalPreimageSource(config *config.Config) *LocalPreimageSource
type MemKV ¶
MemKV implements the KV store interface in memory, backed by a regular Go map. This should only be used in testing, as large programs may require more pre-image data than available memory. MemKV is safe for concurrent use.
type PebbleKV ¶ added in v1.9.2
PebbleKV is a disk-backed key-value store, with PebbleDB as the underlying DBMS. PebbleKV is safe for concurrent use with a single PebbleKV instance.
func NewPebbleKV ¶ added in v1.9.2
NewPebbleKV creates a PebbleKV that puts/gets pre-images as files in the given directory path. The path must exist, or subsequent Put/Get calls will error when it does not.
type PreimageSourceSplitter ¶ added in v1.0.5
type PreimageSourceSplitter struct {
// contains filtered or unexported fields
}
func NewPreimageSourceSplitter ¶ added in v1.0.5
func NewPreimageSourceSplitter(local PreimageSource, global PreimageSource) *PreimageSourceSplitter