datastore

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2023 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("not found")

Functions

func PayloadKeyKey

func PayloadKeyKey(key structs.PayloadKey) ds.Key

Types

type Datastore

type Datastore struct {
	TTLStorage
	PayloadCache *lru.Cache[structs.PayloadKey, structs.BlockBidAndTrace]
}

func NewDatastore

func NewDatastore(t TTLStorage, payloadCacheSize int) (*Datastore, error)

func (*Datastore) CacheBlock

func (s *Datastore) CacheBlock(ctx context.Context, key structs.PayloadKey, block *structs.CompleteBlockstruct) error

func (*Datastore) GetPayload

func (s *Datastore) GetPayload(ctx context.Context, fork structs.ForkVersion, key structs.PayloadKey) (payload structs.BlockBidAndTrace, cache bool, err error)

func (*Datastore) PutPayload

func (s *Datastore) PutPayload(ctx context.Context, key structs.PayloadKey, payload structs.BlockBidAndTrace, ttl time.Duration) error

type TTLStorage

type TTLStorage interface {
	PutWithTTL(context.Context, ds.Key, []byte, time.Duration) error
	Get(context.Context, ds.Key) ([]byte, error)
}

Directories

Path Synopsis
evidence
transport
validator

Jump to

Keyboard shortcuts

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