mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 22:47:56 +00:00
Extract warp sync strategy from ChainSync (#2467)
Extract `WarpSync` (and `StateSync` as part of warp sync) from `ChainSync` as independent syncing strategy called by `SyncingEngine`. Introduce `SyncingStrategy` enum as a proxy between `SyncingEngine` and specific syncing strategies. ## Limitations Gap sync is kept in `ChainSync` for now because it shares the same set of peers as block syncing implementation in `ChainSync`. Extraction of a common context responsible for peer management in syncing strategies able to run in parallel is planned for a follow-up PR. ## Further improvements A possibility of conversion of `SyncingStartegy` into a trait should be evaluated. The main stopper for this is that different strategies need to communicate different actions to `SyncingEngine` and respond to different events / provide different APIs (e.g., requesting justifications is only possible via `ChainSync` and not through `WarpSync`; `SendWarpProofRequest` action is only relevant to `WarpSync`, etc.) --------- Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
This commit is contained in:
@@ -20,7 +20,10 @@ use codec::Decode;
|
||||
use futures::{channel::oneshot, stream::StreamExt};
|
||||
use log::debug;
|
||||
|
||||
use crate::warp::{EncodedProof, WarpProofRequest, WarpSyncProvider};
|
||||
use crate::{
|
||||
strategy::warp::{EncodedProof, WarpProofRequest, WarpSyncProvider},
|
||||
LOG_TARGET,
|
||||
};
|
||||
use sc_network::{
|
||||
config::ProtocolId,
|
||||
request_responses::{
|
||||
@@ -120,10 +123,10 @@ impl<TBlock: BlockT> RequestHandler<TBlock> {
|
||||
|
||||
match self.handle_request(payload, pending_response) {
|
||||
Ok(()) => {
|
||||
debug!(target: "sync", "Handled grandpa warp sync request from {}.", peer)
|
||||
debug!(target: LOG_TARGET, "Handled grandpa warp sync request from {}.", peer)
|
||||
},
|
||||
Err(e) => debug!(
|
||||
target: "sync",
|
||||
target: LOG_TARGET,
|
||||
"Failed to handle grandpa warp sync request from {}: {}",
|
||||
peer, e,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user