new back filler

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2025-06-27 00:21:38 +08:00
parent 896113e436
commit b5f9fe087f

View file

@ -116,6 +116,7 @@ type Downloader struct {
// Callbacks // Callbacks
dropPeer peerDropFn // Drops a peer for misbehaving dropPeer peerDropFn // Drops a peer for misbehaving
badBlock badBlockFn // Reports a block as rejected by the chain badBlock badBlockFn // Reports a block as rejected by the chain
success func() // Callback to signal successful sync completion
// Status // Status
synchronising atomic.Bool synchronising atomic.Bool
@ -237,6 +238,7 @@ func New(stateDb ethdb.Database, mode ethconfig.SyncMode, mux *event.TypeMux, ch
chainCutoffNumber: cutoffNumber, chainCutoffNumber: cutoffNumber,
chainCutoffHash: cutoffHash, chainCutoffHash: cutoffHash,
dropPeer: dropPeer, dropPeer: dropPeer,
success: success,
headerProcCh: make(chan *headerTask, 1), headerProcCh: make(chan *headerTask, 1),
quitCh: make(chan struct{}), quitCh: make(chan struct{}),
SnapSyncer: snap.NewSyncer(stateDb, chain.TrieDB().Scheme()), SnapSyncer: snap.NewSyncer(stateDb, chain.TrieDB().Scheme()),
@ -666,7 +668,7 @@ func (d *Downloader) Cancel() {
func (d *Downloader) ResetSkeleton() { func (d *Downloader) ResetSkeleton() {
d.skeleton.Terminate() d.skeleton.Terminate()
rawdb.DeleteSkeletonSyncStatus(d.stateDB) rawdb.DeleteSkeletonSyncStatus(d.stateDB)
d.skeleton = newSkeleton(d.stateDB, d.peers, d.dropPeer, d.skeleton.filler) d.skeleton = newSkeleton(d.stateDB, d.peers, d.dropPeer, newBeaconBackfiller(d, d.success))
} }
// Terminate interrupts the downloader, canceling all pending operations. // Terminate interrupts the downloader, canceling all pending operations.