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 |