Move import queue out of `sc-network` (#12764)
* Move import queue out of `sc-network` Add supplementary asynchronous API for the import queue which means it can be run as an independent task and communicated with through the `ImportQueueService`. This commit removes removes block and justification imports from `sc-network` and provides `ChainSync` with a handle to import queue so it can import blocks and justifications. Polling of the import queue is moved complete out of `sc-network` and `sc_consensus::Link` is implemented for `ChainSyncInterfaceHandled` so the import queue can still influence the syncing process. * Fix tests * Apply review comments * Apply suggestions from code review Co-authored-by:Bastian Köcher <git@kchr.de> * Update client/network/sync/src/lib.rs Co-authored-by:
Bastian Köcher <git@kchr.de> Co-authored-by:
Bastian Köcher <git@kchr.de>
Showing
- substrate/Cargo.lock 2 additions, 0 deletionssubstrate/Cargo.lock
- substrate/client/consensus/common/Cargo.toml 1 addition, 0 deletionssubstrate/client/consensus/common/Cargo.toml
- substrate/client/consensus/common/src/import_queue.rs 19 additions, 4 deletionssubstrate/client/consensus/common/src/import_queue.rs
- substrate/client/consensus/common/src/import_queue/basic_queue.rs 60 additions, 9 deletions...e/client/consensus/common/src/import_queue/basic_queue.rs
- substrate/client/consensus/common/src/import_queue/buffered_link.rs 23 additions, 9 deletions...client/consensus/common/src/import_queue/buffered_link.rs
- substrate/client/consensus/common/src/import_queue/mock.rs 46 additions, 0 deletionssubstrate/client/consensus/common/src/import_queue/mock.rs
- substrate/client/network/common/src/sync.rs 12 additions, 16 deletionssubstrate/client/network/common/src/sync.rs
- substrate/client/network/src/behaviour.rs 8 additions, 23 deletionssubstrate/client/network/src/behaviour.rs
- substrate/client/network/src/config.rs 0 additions, 7 deletionssubstrate/client/network/src/config.rs
- substrate/client/network/src/lib.rs 7 additions, 2 deletionssubstrate/client/network/src/lib.rs
- substrate/client/network/src/protocol.rs 8 additions, 99 deletionssubstrate/client/network/src/protocol.rs
- substrate/client/network/src/service.rs 2 additions, 86 deletionssubstrate/client/network/src/service.rs
- substrate/client/network/src/service/metrics.rs 0 additions, 10 deletionssubstrate/client/network/src/service/metrics.rs
- substrate/client/network/src/service/tests/chain_sync.rs 74 additions, 32 deletionssubstrate/client/network/src/service/tests/chain_sync.rs
- substrate/client/network/src/service/tests/mod.rs 30 additions, 10 deletionssubstrate/client/network/src/service/tests/mod.rs
- substrate/client/network/sync/Cargo.toml 1 addition, 0 deletionssubstrate/client/network/sync/Cargo.toml
- substrate/client/network/sync/src/lib.rs 318 additions, 165 deletionssubstrate/client/network/sync/src/lib.rs
- substrate/client/network/sync/src/mock.rs 4 additions, 10 deletionssubstrate/client/network/sync/src/mock.rs
- substrate/client/network/sync/src/service/chain_sync.rs 53 additions, 0 deletionssubstrate/client/network/sync/src/service/chain_sync.rs
- substrate/client/network/sync/src/service/mock.rs 32 additions, 1 deletionsubstrate/client/network/sync/src/service/mock.rs
Please register or sign in to comment