branch

package
v0.0.0-...-031b0c9 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2024 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Overview

Package branch defines a Store that can be used to wrap readable state to make it writable. Code heavily taken and adapted from cosmossdk.io/store/v1.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultNewWriterMap

func DefaultNewWriterMap(r store.ReaderMap) store.WriterMap

func NewWriterMap

func NewWriterMap(
	state store.ReaderMap,
	branch func(readonlyState store.Reader) store.Writer,
) store.WriterMap

Types

type Store

type Store[T store.Reader] struct {
	// contains filtered or unexported fields
}

Store wraps an in-memory cache around an underlying types.KVStore.

func NewStore

func NewStore[T store.Reader](parent T) Store[T]

NewStore creates a new Store object

func (Store[T]) ApplyChangeSets

func (s Store[T]) ApplyChangeSets(changes []store.KVPair) error

func (Store[T]) ChangeSets

func (s Store[T]) ChangeSets() (cs []store.KVPair, err error)

func (Store[T]) Delete

func (s Store[T]) Delete(key []byte) error

Delete implements types.KVStore.

func (Store[T]) Get

func (s Store[T]) Get(key []byte) (value []byte, err error)

Get implements types.KVStore.

func (Store[T]) Has

func (s Store[T]) Has(key []byte) (bool, error)

Has implements types.KVStore.

func (Store[T]) Iterator

func (s Store[T]) Iterator(start, end []byte) (store.Iterator, error)

Iterator implements types.KVStore.

func (Store[T]) ReverseIterator

func (s Store[T]) ReverseIterator(start, end []byte) (store.Iterator, error)

ReverseIterator implements types.KVStore.

func (Store[T]) Set

func (s Store[T]) Set(key, value []byte) error

Set implements types.KVStore.

type WriterMap

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

WriterMap implements a branched version of the store.WriterMap. After the firs time the actor's branched Store is created, it is memoized in the WriterMap.

func (WriterMap) ApplyStateChanges

func (b WriterMap) ApplyStateChanges(stateChanges []store.StateChanges) error

func (WriterMap) GetReader

func (b WriterMap) GetReader(actor []byte) (store.Reader, error)

func (WriterMap) GetStateChanges

func (b WriterMap) GetStateChanges() ([]store.StateChanges, error)

func (WriterMap) GetWriter

func (b WriterMap) GetWriter(actor []byte) (store.Writer, error)

Jump to

Keyboard shortcuts

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