Documentation ¶
Index ¶
- type BlockListener
- type Configuration
- type Syncer
- func (s *Syncer) Await() chan struct{}
- func (s *Syncer) Close()
- func (s *Syncer) FetchAtxReferences(atx *types.ActivationTx) error
- func (s *Syncer) FetchPoetProof(poetProofRef []byte) error
- func (s *Syncer) ForceSync()
- func (ms Syncer) GetExit() chan struct{}
- func (ms Syncer) GetTimeout() time.Duration
- func (s *Syncer) IsSynced() bool
- func (s *Syncer) ListenToGossip() bool
- func (s *Syncer) Start()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlockListener ¶
BlockListener Listens to blocks propagated in gossip
func NewBlockListener ¶
func NewBlockListener(net service.Service, sync *Syncer, concurrency int, logger log.Log) *BlockListener
NewBlockListener creates a new instance of BlockListener
func (BlockListener) GetTimeout ¶
func (*BlockListener) Start ¶
func (bl *BlockListener) Start()
Start starts the main listening goroutine
type Configuration ¶
type Configuration struct { LayersPerEpoch uint16 Concurrency int // number of workers for sync method LayerSize int RequestTimeout time.Duration SyncInterval time.Duration ValidationDelta time.Duration AtxsLimit int Hdist int AlwaysListen bool }
Configuration represents all config params needed by syncer
type Syncer ¶
type Syncer struct { log.Log Configuration *mesh.Mesh // contains filtered or unexported fields }
Syncer is used to sync the node with the network periodically the Syncer will check if the node is synced with the rest of the network and will follow the sync protocol in order to fetch all missing data and become synced again
func NewSync ¶
func NewSync(srv service.Service, layers *mesh.Mesh, txpool txMemPool, atxDB atxDB, bv blockEligibilityValidator, poetdb poetDb, conf Configuration, clock ticker, logger log.Log) *Syncer
NewSync fires a sync every sm.SyncInterval or on force space from outside
func NewSyncWithMocks ¶ added in v0.1.11
func NewSyncWithMocks(atxdbStore *database.LDBDatabase, mshdb *mesh.DB, txpool *state.TxMempool, atxpool *activation.AtxMemDB, swarm service.Service, poetDb *activation.PoetDb, conf Configuration, expectedLayers types.LayerID) *Syncer
NewSyncWithMocks returns a syncer instance that is backed by mocks of other modules for use in testing
func (*Syncer) Await ¶
func (s *Syncer) Await() chan struct{}
Await returns a channel that blocks until the node is synced
func (*Syncer) FetchAtxReferences ¶ added in v0.1.15
func (s *Syncer) FetchAtxReferences(atx *types.ActivationTx) error
FetchAtxReferences fetches positioning and prev atxs from peers if they are not found in db
func (*Syncer) FetchPoetProof ¶
FetchPoetProof fetches a poet proof from network peers
func (*Syncer) ForceSync ¶
func (s *Syncer) ForceSync()
ForceSync signals syncer to run the synchronise flow
func (Syncer) GetTimeout ¶
func (*Syncer) ListenToGossip ¶
ListenToGossip enables other modules to check if they should listen to gossip