Rework all.rs
to run all_forks
and warp_sync
syncing simultaneously
#1591
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Close #1109
Close #1562
Previously, smoldot would always do a warp sync, then start syncing normally from the warp sync target.
What this PR does is always run the warp sync and normal syncing, and at the same time.
As described in the CHANGELOG, the consequence is that smoldot is able to perform a warp sync after it has been offline for a long time (or that the chain's finality has stalled for a long time) even if it has already warp synced before, and that it will no longer try to warp sync if peers are too close to the local best block.
This change opens the possibility for significant clean ups in
all.rs
. This module was a bit left rotten while waiting for this change.