Documentation ¶
Index ¶
Constants ¶
const ( DABatchRetryDelay = 20 * time.Second SLBatchRetryDelay = 10 * time.Second )
defaultDABlockTime is used only if DABlockTime is not configured for manager
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager is responsible for aggregating transactions into blocks.
func NewManager ¶
func NewManager( proposerKey crypto.PrivKey, conf config.BlockManagerConfig, genesis *tmtypes.GenesisDoc, store store.Store, mempool mempool.Mempool, proxyApp proxy.AppConns, dalc da.DataAvailabilityLayerClient, settlementClient settlement.LayerClient, eventBus *tmtypes.EventBus, pubsub *pubsub.Server, p2pClient *p2p.Client, logger log.Logger, ) (*Manager, error)
NewManager creates new block Manager.
func (*Manager) ApplyBlockLoop ¶
ApplyBlockLoop is responsible for applying blocks retrieved from pubsub server.
func (*Manager) ProduceBlockLoop ¶
ProduceBlockLoop is calling publishBlock in a loop as long as wer'e synced.
func (*Manager) RetriveLoop ¶
RetriveLoop listens for new sync messages written to a ring buffer and in turn runs syncUntilTarget on the latest message in the ring buffer.
func (*Manager) SetDALC ¶
func (m *Manager) SetDALC(dalc da.DataAvailabilityLayerClient)
SetDALC is used to set DataAvailabilityLayerClient used by Manager. TODO(omritoptix): Remove this from here as it's only being used for tests.
func (*Manager) SyncTargetLoop ¶
SyncTargetLoop is responsible for getting real time updates about batches submission. for non aggregator: updating the sync target which will be used by retrieveLoop to sync until this target. for aggregator: get notification that batch has been accepted so can send next batch.