Skip to content

Sync & Downloader

Block synchronization: the legacy (pre-merge) downloader, the concurrent header fetcher, and the block-announcement fetcher.

Nature Count
🔄 Revived (from upstream pre-purge) 79
✏️ In-place (modified on upstream) 7
🆕 New (fork-only, no upstream pedigree) 1

🔄 Revived (from upstream pre-purge)

Code upstream deleted, transplanted back from the commit just before its removal.

Change Kind Origin Δ vs origin
BlockFetcher symbol purge1 view
BlockFetcher.Enqueue symbol purge1 +1 -1 view
BlockFetcher.FilterBodies symbol purge1 view
BlockFetcher.FilterHeaders symbol purge1 view
BlockFetcher.Notify symbol purge1 +1 -1 view
BlockFetcher.Start symbol purge1 view
BlockFetcher.Stop symbol purge1 view
BlockFetcher.enqueue symbol purge1 view
BlockFetcher.forgetBlock symbol purge1 view
BlockFetcher.forgetHash symbol purge1 view
BlockFetcher.importBlocks symbol purge1 view
BlockFetcher.importHeaders symbol purge1 view
BlockFetcher.loop symbol purge1 +3 -3 view
BlockFetcher.rescheduleComplete symbol purge1 view
BlockFetcher.rescheduleFetch symbol purge1 view
Downloader.LegacySync symbol purge2 +2 -5 view
Downloader.fetchHead symbol purge2 +4 -3 view
Downloader.fetchHeadersByNumber symbol purge1 view
Downloader.fetchHeadersPoW symbol purge2 +3 -9 view
Downloader.fillHeaderSkeleton symbol purge2 +5 -4 view
Downloader.findAncestor symbol purge2 +3 -25 view
Downloader.findAncestorBinarySearch symbol purge2 +5 -4 view
Downloader.findAncestorSpanSearch symbol purge2 +4 -3 view
Downloader.processHeadersPoW symbol purge2 +41 -57 view
Downloader.syncWithPeer symbol purge2 +51 -108 view
Downloader.synchronisePoW symbol purge2 +5 -29 view
HeaderRetrievalFn symbol purge1 view
MaxSkeletonSize symbol purge2 +0 -16 view
NewBlockFetcher symbol purge1 view
block fetcher limit consts symbol purge1 view
block fetcher metrics symbol purge1 view
block fetcher timing consts symbol purge1 view
blockAnnounce symbol purge1 view
blockBroadcasterFn symbol purge1 view
blockOrHeaderInject symbol purge1 view
blockOrHeaderInject.hash symbol purge1 view
blockOrHeaderInject.number symbol purge1 view
blockRetrievalFn symbol purge1 view
block_fetcher_pow_test.go file purge1 +92 -441 view
bodyFilterTask symbol purge1 view
bodyRequesterFn symbol purge1 view
calculateRequestSpan symbol purge2 view
chainHeightFn symbol purge1 view
chainInsertFn symbol purge1 view
chainSyncOp symbol purge1 view
chainSyncer symbol purge1 +0 -1 view
chainSyncer.handlePeerEvent symbol purge1 view
chainSyncer.loop symbol purge1 +5 -7 view
chainSyncer.modeAndLocalHead symbol purge1 +1 -1 view
chainSyncer.nextSyncOp symbol purge1 +3 -21 view
chainSyncer.startSync symbol purge1 view
downloader error vars symbol purge2 +0 -18 view
errTerminatedBlockFetcher symbol purge1 +1 -1 view
handler.doSync symbol purge1 +1 -1 view
headerFilterTask symbol purge1 view
headerQueue symbol purge2 +4 -1 view
headerQueue.capacity symbol purge2 view
headerQueue.deliver symbol purge2 +1 -1 view
headerQueue.pending symbol purge2 view
headerQueue.request symbol purge2 view
headerQueue.reserve symbol purge2 view
headerQueue.unreserve symbol purge2 view
headerQueue.updateCapacity symbol purge2 view
headerQueue.waker symbol purge2 view
headerRequesterFn symbol purge1 view
headerVerifierFn symbol purge1 view
headersInsertFn symbol purge1 view
newChainSyncer symbol purge1 view
peerDropFn symbol purge1 view
peerToSyncOp symbol purge1 view
queueWithHeaders symbol purge2 +2 -23 view
queueWithHeaders.DeliverHeaders symbol purge2 +3 -3 view
queueWithHeaders.ExpireHeaders symbol purge2 +3 -3 view
queueWithHeaders.PendingHeaders symbol purge2 +3 -3 view
queueWithHeaders.ReserveHeaders symbol purge2 +3 -3 view
queueWithHeaders.ResetHeaders symbol purge2 +3 -18 view
queueWithHeaders.RetrieveHeaders symbol purge2 +3 -3 view
queueWithHeaders.ScheduleSkeleton symbol purge2 +3 -3 view
sync timing consts symbol purge1 view

✏️ In-place (modified on upstream)

Upstream files the fork edits in place; the diff is against upstream v1.17.3.

Change Kind Origin Δ vs origin
eth/downloader/downloader.go file upstream v1.17.3 +19 -1 view
eth/downloader/downloader_test.go file upstream v1.17.3 +7 -0 view
eth/downloader/fetchers.go file upstream v1.17.3 +3 -0 view
eth/downloader/fetchers_concurrent.go file upstream v1.17.3 +28 -4 view
eth/downloader/metrics.go file upstream v1.17.3 +1 -0 view
eth/downloader/peer.go file upstream v1.17.3 +3 -0 view
eth/downloader/queue.go file upstream v1.17.3 +5 -0 view

🆕 New (fork-only)

Files with no upstream pedigree — the highest-scrutiny changes.

Change Kind Origin Δ vs origin
newQueueWithHeaders symbol 🆕 view

← Code Changes overview · Coverage