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)
Click to show internal directories.
Click to hide internal directories.