state

package
v0.0.8-beta Latest Latest
Warning

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

Go to latest
Published: May 30, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OutputValueTypeInt64    = "int64"
	OutputValueTypeFloat64  = "float64"
	OutputValueTypeBigInt   = "bigInt"
	OutputValueTypeBigFloat = "bigFloat"
	OutputValueTypeString   = "string"
)
View Source
const WaiterSleepInterval = 5 * time.Second

Variables

This section is empty.

Functions

func FullStateFileName

func FullStateFileName(r *block.Range, moduleStartBlock uint64) string

func FullStateFilePrefix

func FullStateFilePrefix(blockNum uint64) string

func InfoFileName

func InfoFileName() string

func PartialFileName

func PartialFileName(r *block.Range) string

Types

type Builder

type Builder struct {
	Name         string
	Store        dstore.Store
	SaveInterval uint64
	Initialized  bool

	ModuleStartBlock uint64
	BlockRange       *block.Range

	ModuleHash string

	KV              map[string][]byte          // KV is the state, and assumes all Deltas were already applied to it.
	Deltas          []*pbsubstreams.StoreDelta // Deltas are always deltas for the given block.
	DeletedPrefixes []string

	UpdatePolicy pbsubstreams.Module_KindStore_UpdatePolicy
	ValueType    string
	PartialMode  bool
	// contains filtered or unexported fields
}

func NewBuilder

func NewBuilder(name string, saveInterval uint64, moduleStartBlock uint64, moduleHash string, updatePolicy pbsubstreams.Module_KindStore_UpdatePolicy, valueType string, store dstore.Store, opts ...BuilderOption) (*Builder, error)

func (*Builder) ApplyDelta

func (b *Builder) ApplyDelta(delta *pbsubstreams.StoreDelta)

func (*Builder) Del

func (b *Builder) Del(ord uint64, key string)

func (*Builder) DeletePartialFile

func (b *Builder) DeletePartialFile(ctx context.Context) error

func (*Builder) DeletePrefix

func (b *Builder) DeletePrefix(ord uint64, prefix string)

func (*Builder) Flush

func (b *Builder) Flush()

func (*Builder) FromBlockRange

func (b *Builder) FromBlockRange(blockRange *block.Range, partialMode bool) *Builder

func (*Builder) GetAt

func (b *Builder) GetAt(ord uint64, key string) (out []byte, found bool)

GetAt returns the key for the state that includes the processing of `ord`.

func (*Builder) GetFirst

func (b *Builder) GetFirst(key string) ([]byte, bool)

func (*Builder) GetLast

func (b *Builder) GetLast(key string) ([]byte, bool)

func (*Builder) Info

func (b *Builder) Info(ctx context.Context) (*Info, error)

func (*Builder) Initialize

func (b *Builder) Initialize(ctx context.Context, requestedStartBlock uint64, outputCacheSaveInterval uint64, outputCacheStore dstore.Store) error

func (*Builder) InitializePartial

func (b *Builder) InitializePartial(ctx context.Context, startBlock uint64) error

func (*Builder) MarshalLogObject

func (b *Builder) MarshalLogObject(enc zapcore.ObjectEncoder) error

func (*Builder) Merge

func (into *Builder) Merge(builder *Builder) error

func (*Builder) Print

func (b *Builder) Print()

func (*Builder) PrintDelta

func (b *Builder) PrintDelta(delta *pbsubstreams.StoreDelta)

func (*Builder) Roll

func (b *Builder) Roll()

func (*Builder) RollPartial

func (b *Builder) RollPartial()

func (*Builder) Set

func (b *Builder) Set(ord uint64, key string, value string)

func (*Builder) SetBytes

func (b *Builder) SetBytes(ord uint64, key string, value []byte)

func (*Builder) SetBytesIfNotExists

func (b *Builder) SetBytesIfNotExists(ord uint64, key string, value []byte)

func (*Builder) SetIfNotExists

func (b *Builder) SetIfNotExists(ord uint64, key string, value string)

func (*Builder) SetMaxBigFloat

func (b *Builder) SetMaxBigFloat(ord uint64, key string, value *big.Float)

func (*Builder) SetMaxBigInt

func (b *Builder) SetMaxBigInt(ord uint64, key string, value *big.Int)

func (*Builder) SetMaxFloat64

func (b *Builder) SetMaxFloat64(ord uint64, key string, value float64)

func (*Builder) SetMaxInt64

func (b *Builder) SetMaxInt64(ord uint64, key string, value int64)

func (*Builder) SetMinBigFloat

func (b *Builder) SetMinBigFloat(ord uint64, key string, value *big.Float)

func (*Builder) SetMinBigInt

func (b *Builder) SetMinBigInt(ord uint64, key string, value *big.Int)

func (*Builder) SetMinFloat64

func (b *Builder) SetMinFloat64(ord uint64, key string, value float64)

func (*Builder) SetMinInt64

func (b *Builder) SetMinInt64(ord uint64, key string, value int64)

func (*Builder) SumBigFloat

func (b *Builder) SumBigFloat(ord uint64, key string, value *big.Float)

func (*Builder) SumBigInt

func (b *Builder) SumBigInt(ord uint64, key string, value *big.Int)

func (*Builder) SumFloat64

func (b *Builder) SumFloat64(ord uint64, key string, value float64)

func (*Builder) SumInt64

func (b *Builder) SumInt64(ord uint64, key string, value int64)

func (*Builder) WriteState

func (b *Builder) WriteState(ctx context.Context) (err error)

type BuilderOption

type BuilderOption func(b *Builder)

type ConditionalKeySetter

type ConditionalKeySetter interface {
	SetIfNotExists(ord uint64, key string, value string)
	SetBytesIfNotExists(ord uint64, key string, value []byte)
}

type Deleter

type Deleter interface {
	DeletePrefix(ord uint64, prefix string)
}

type FileInfo

type FileInfo struct {
	StartBlock uint64
	EndBlock   uint64
	Partial    bool
}

func ParseFileName

func ParseFileName(filename string) (*FileInfo, bool)

type FileWaiter

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

func NewFileWaiter

func NewFileWaiter(targetStartBlock uint64, builders []*Builder) *FileWaiter

func (*FileWaiter) Wait

func (w *FileWaiter) Wait(ctx context.Context, requestStartBlock uint64, moduleStartBlock uint64) error

type Info

type Info struct {
	LastKVFile        string `json:"last_kv_file"`
	LastKVSavedBlock  uint64 `json:"last_saved_block"`
	RangeIntervalSize uint64 `json:"range_interval_size"`
}

type MaxBigFloatSetter

type MaxBigFloatSetter interface {
	SetMaxBigFloat(ord uint64, key string, value *big.Float)
}

type MaxBigIntSetter

type MaxBigIntSetter interface {
	SetMaxBigInt(ord uint64, key string, value *big.Int)
}

type MaxFloat64Setter

type MaxFloat64Setter interface {
	SetMaxFloat64(ord uint64, key string, value float64)
}

type MaxInt64Setter

type MaxInt64Setter interface {
	SetMaxInt64(ord uint64, key string, value int64)
}

type Mergeable

type Mergeable interface {
	Merge(other *Builder) error
}

type MinBigFloatSetter

type MinBigFloatSetter interface {
	SetMinBigFloat(ord uint64, key string, value *big.Float)
}

type MinBigIntSetter

type MinBigIntSetter interface {
	SetMinBigInt(ord uint64, key string, value *big.Int)
}

type MinFloat64Setter

type MinFloat64Setter interface {
	SetMinFloat64(ord uint64, key string, value float64)
}

type MinInt64Setter

type MinInt64Setter interface {
	SetMinInt64(ord uint64, key string, value int64)
}

type Reader

type Reader interface {
	GetFirst(key string) ([]byte, bool)
	GetLast(key string) ([]byte, bool)
	GetAt(ord uint64, key string) ([]byte, bool)
}

type SumBigFloatSetter

type SumBigFloatSetter interface {
	SumBigFloat(ord uint64, key string, value *big.Float)
}

type SumBigIntSetter

type SumBigIntSetter interface {
	SumBigInt(ord uint64, key string, value *big.Int)
}

type SumFloat64Setter

type SumFloat64Setter interface {
	SumFloat64(ord uint64, key string, value float64)
}

type SumInt64Setter

type SumInt64Setter interface {
	SumInt64(ord uint64, key string, value int64)
}

type UpdateKeySetter

type UpdateKeySetter interface {
	Set(ord uint64, key string, value string)
	SetBytes(ord uint64, key string, value []byte)
}

Jump to

Keyboard shortcuts

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