Documentation ¶
Index ¶
- Variables
- func ComputeStartBlock(startBlock uint64, saveBlockInterval uint64) uint64
- type Buffer
- type Config
- type Configs
- type ExecutionOutput
- type ExecutionOutputGetter
- type ExecutionOutputSetter
- type File
- func (c *File) Filename() string
- func (c *File) Get(clock *pbsubstreams.Clock) ([]byte, bool)
- func (c *File) GetAtBlock(blockNumber uint64) ([]byte, bool)
- func (c *File) Load(ctx context.Context) (loaded bool, err error)
- func (c *File) MarshalLogObject(enc zapcore.ObjectEncoder) error
- func (c *File) NextFile() *File
- func (c *File) Save(ctx context.Context) (func(), error)
- func (c *File) SetItem(clock *pbsubstreams.Clock, data []byte)
- func (c *File) SortedItems() (out []*pboutput.Item)
- func (c *File) String() string
- type FileInfo
- type FileInfos
- type LinearReader
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var NotFound = errors.New("inputs module value not found")
Functions ¶
func ComputeStartBlock ¶
Types ¶
type Buffer ¶
type Buffer struct { // contains filtered or unexported fields } // TODO(abourget): rename to `Buffer`
Buffer holds the values produced by modules and exchanged between them as a sort of buffer.
func (*Buffer) Clock ¶
func (i *Buffer) Clock() *pbsubstreams.Clock
type Config ¶
type Config struct {
// contains filtered or unexported fields
}
func (*Config) ListSnapshotFiles ¶
func (*Config) ModuleInitialBlock ¶
func (*Config) ModuleKind ¶
func (c *Config) ModuleKind() pbsubstreams.ModuleKind
type Configs ¶
func NewConfigs ¶
type ExecutionOutput ¶
type ExecutionOutput interface { ExecutionOutputGetter ExecutionOutputSetter }
ExecutionOutput gets/sets execution output for a given graph at a given block
type ExecutionOutputGetter ¶
type ExecutionOutputSetter ¶
type File ¶
type File struct { sync.RWMutex *block.BoundedRange ModuleName string // contains filtered or unexported fields }
A File in `execout` stores, for a given module (with a given hash), the outputs of module execution for _multiple blocks_, based on their block ID.
func (*File) MarshalLogObject ¶
func (c *File) MarshalLogObject(enc zapcore.ObjectEncoder) error
func (*File) NextFile ¶
NextFile initializes a new *File pointing to the next boundary, according to `targetRange`.
func (*File) SortedItems ¶
type LinearReader ¶
func NewLinearReader ¶
func NewLinearReader(startBlock uint64, exclusiveEndBlock uint64, module *pbsubstreams.Module, firstFile *File, responseFunc substreams.ResponseFunc, execOutputSaveInterval uint64) *LinearReader
func (*LinearReader) Launch ¶
func (r *LinearReader) Launch(ctx context.Context)
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
The Writer is responsible for writing an rotating files containing execution outputs. Those files will then be read by the LinearExecOutReader. `initialBlockBoundary` is expected to be on a boundary, or to be modules' initial blocks.
func (*Writer) MaybeRotate ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.