epochstore

package
v1.0.0-alpha.13 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseStore

type BaseStore[V any] struct {
	// contains filtered or unexported fields
}

func NewStore

func NewStore[V any](storeRealm kvstore.Realm, kv kvstore.KVStore, prunginDelayFunc func(iotago.EpochIndex) iotago.EpochIndex, vToBytes kvstore.ObjectToBytes[V], bytesToV kvstore.BytesToObject[V]) *BaseStore[V]

func (*BaseStore[V]) DeleteEpoch

func (s *BaseStore[V]) DeleteEpoch(epoch iotago.EpochIndex) error

func (*BaseStore[V]) LastAccessedEpoch

func (s *BaseStore[V]) LastAccessedEpoch() (lastAccessedEpoch iotago.EpochIndex, err error)

func (*BaseStore[V]) LastPrunedEpoch

func (s *BaseStore[V]) LastPrunedEpoch() (iotago.EpochIndex, bool)

func (*BaseStore[V]) Load

func (s *BaseStore[V]) Load(epoch iotago.EpochIndex) (V, error)

Load loads the value for the given epoch.

func (*BaseStore[V]) Prune

func (s *BaseStore[V]) Prune(epoch iotago.EpochIndex, defaultPruningDelay iotago.EpochIndex) ([]iotago.EpochIndex, error)

func (*BaseStore[V]) RestoreLastPrunedEpoch

func (s *BaseStore[V]) RestoreLastPrunedEpoch() error

func (*BaseStore[V]) RollbackEpochs

func (s *BaseStore[V]) RollbackEpochs(epoch iotago.EpochIndex) (lastPrunedEpoch iotago.EpochIndex, rolledbackEpochs []iotago.EpochIndex, err error)

func (*BaseStore[V]) Store

func (s *BaseStore[V]) Store(epoch iotago.EpochIndex, value V) error

func (*BaseStore[V]) Stream

func (s *BaseStore[V]) Stream(consumer func(epoch iotago.EpochIndex, value V) error) error

func (*BaseStore[V]) StreamBytes

func (s *BaseStore[V]) StreamBytes(consumer func([]byte, []byte) error) error

type CachedStore

type CachedStore[V any] struct {
	// contains filtered or unexported fields
}

func NewCachedStore

func NewCachedStore[V any](store *BaseStore[V], maxCacheSize int) *CachedStore[V]

func (*CachedStore[V]) DeleteEpoch

func (c *CachedStore[V]) DeleteEpoch(epoch iotago.EpochIndex) error

func (*CachedStore[V]) LastAccessedEpoch

func (c *CachedStore[V]) LastAccessedEpoch() (lastAccessedEpoch iotago.EpochIndex, err error)

func (*CachedStore[V]) LastPrunedEpoch

func (c *CachedStore[V]) LastPrunedEpoch() (iotago.EpochIndex, bool)

func (*CachedStore[V]) Load

func (c *CachedStore[V]) Load(epoch iotago.EpochIndex) (V, error)

func (*CachedStore[V]) Prune

func (c *CachedStore[V]) Prune(epoch iotago.EpochIndex, defaultPruningDelay iotago.EpochIndex) ([]iotago.EpochIndex, error)

func (*CachedStore[V]) RestoreLastPrunedEpoch

func (c *CachedStore[V]) RestoreLastPrunedEpoch() error

func (*CachedStore[V]) RollbackEpochs

func (c *CachedStore[V]) RollbackEpochs(epoch iotago.EpochIndex) (lastPrunedEpoch iotago.EpochIndex, rollbackedEpochs []iotago.EpochIndex, err error)

func (*CachedStore[V]) Store

func (c *CachedStore[V]) Store(epoch iotago.EpochIndex, value V) error

func (*CachedStore[V]) Stream

func (c *CachedStore[V]) Stream(consumer func(epoch iotago.EpochIndex, value V) error) error

func (*CachedStore[V]) StreamBytes

func (c *CachedStore[V]) StreamBytes(consumer func([]byte, []byte) error) error

type EpochKVStore

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

func NewEpochKVStore

func NewEpochKVStore(storeRealm kvstore.Realm, kv kvstore.KVStore, prunginDelayFunc func(iotago.EpochIndex) iotago.EpochIndex) *EpochKVStore

func (*EpochKVStore) DeleteEpoch

func (e *EpochKVStore) DeleteEpoch(epoch iotago.EpochIndex) error

func (*EpochKVStore) GetEpoch

func (e *EpochKVStore) GetEpoch(epoch iotago.EpochIndex) (kvstore.KVStore, error)

func (*EpochKVStore) LastAccessedEpoch

func (e *EpochKVStore) LastAccessedEpoch() (lastAccessedEpoch iotago.EpochIndex, err error)

func (*EpochKVStore) LastPrunedEpoch

func (e *EpochKVStore) LastPrunedEpoch() (iotago.EpochIndex, bool)

func (*EpochKVStore) Prune

func (e *EpochKVStore) Prune(epoch iotago.EpochIndex, defaultPruningDelay iotago.EpochIndex) error

func (*EpochKVStore) RestoreLastPrunedEpoch

func (e *EpochKVStore) RestoreLastPrunedEpoch() error

func (*EpochKVStore) RollbackEpochs

func (e *EpochKVStore) RollbackEpochs(epoch iotago.EpochIndex) (lastPrunedEpoch iotago.EpochIndex, err error)

type Store

type Store[V any] interface {
	RestoreLastPrunedEpoch() error
	LastAccessedEpoch() (iotago.EpochIndex, error)
	LastPrunedEpoch() (iotago.EpochIndex, bool)
	Load(epoch iotago.EpochIndex) (V, error)
	Store(epoch iotago.EpochIndex, value V) error
	Stream(consumer func(epoch iotago.EpochIndex, value V) error) error
	StreamBytes(consumer func([]byte, []byte) error) error
	DeleteEpoch(epoch iotago.EpochIndex) error
	Prune(epoch iotago.EpochIndex, defaultPruningDelay iotago.EpochIndex) ([]iotago.EpochIndex, error)
	RollbackEpochs(epoch iotago.EpochIndex) (iotago.EpochIndex, []iotago.EpochIndex, error)
}

Jump to

Keyboard shortcuts

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