Documentation ¶
Overview ¶
Package fetcher contains the block announcement based synchonisation.
Index ¶
- type Fetcher
- func (f *Fetcher) Enqueue(peer string, block *nom.DetailedMomentum) error
- func (f *Fetcher) Filter(blocks []*nom.DetailedMomentum) []*nom.DetailedMomentum
- func (f *Fetcher) Notify(peer string, hash types.Hash, time time.Time, fetcher blockRequesterFn) error
- func (f *Fetcher) Start()
- func (f *Fetcher) Stop()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Fetcher ¶
type Fetcher struct {
// contains filtered or unexported fields
}
Fetcher is responsible for accumulating block announcements from various peers and scheduling them for retrieval.
func New ¶
func New(getBlock blockRetrievalFn, validateBlock blockValidatorFn, broadcastBlock blockBroadcasterFn, chainHeight chainHeightFn, insertChain chainInsertFn, dropPeer peerDropFn) *Fetcher
New creates a block fetcher to retrieve blocks based on hash announcements.
func (*Fetcher) Enqueue ¶
func (f *Fetcher) Enqueue(peer string, block *nom.DetailedMomentum) error
Enqueue tries to fill gaps the the fetcher's future import queue.
func (*Fetcher) Filter ¶
func (f *Fetcher) Filter(blocks []*nom.DetailedMomentum) []*nom.DetailedMomentum
Filter extracts all the blocks that were explicitly requested by the fetcher, returning those that should be handled differently.
func (*Fetcher) Notify ¶
func (f *Fetcher) Notify(peer string, hash types.Hash, time time.Time, fetcher blockRequesterFn) error
Notify announces the fetcher of the potential availability of a new block in the network.
Click to show internal directories.
Click to hide internal directories.