statemanager

package
v1.0.2-legacy-migration Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type StateMgr

type StateMgr interface {
	consGR.StateMgr
	// The StateMgr has to find a common ancestor for the prevAO and nextAO, then return
	// the state for Next ao and reject blocks in range (commonAO, prevAO]. The StateMgr
	// can determine relative positions of the corresponding blocks based on their state
	// indexes.
	ChainFetchStateDiff(
		ctx context.Context,
		prevAO, nextAO *isc.AliasOutputWithID,
	) <-chan *sm_inputs.ChainFetchStateDiffResults
	// Invoked by the chain when a set of server (access⁻¹) nodes has changed.
	// These nodes should be used to perform block replication.
	ChainNodesUpdated(serverNodes, accessNodes, committeeNodes []*cryptolib.PublicKey)
	// This is called to save a prelim block, received from other nodes.
	// That should happen on the access nodes to receive the active state faster.
	// This function should save the block (in the WAL) synchronously.
	PreliminaryBlock(block state.Block) error
}

func New

func New(
	ctx context.Context,
	chainID isc.ChainID,
	me *cryptolib.PublicKey,
	peerPubKeys []*cryptolib.PublicKey,
	net peering.NetworkProvider,
	wal sm_gpa_utils.BlockWAL,
	snapshotManager sm_snapshots.SnapshotManager,
	store state.Store,
	shutdownCoordinator *shutdown.Coordinator,
	metrics *metrics.ChainStateManagerMetrics,
	pipeMetrics *metrics.ChainPipeMetrics,
	log *logger.Logger,
	parameters sm_gpa.StateManagerParameters,
) (StateMgr, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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