Introduce ChainSyncInterface (#12489)

* Introduce `ChainSyncInterface`

`ChainSyncInterface` provides an asynchronous interface for other
subsystems to submit calls to `ChainSync`. This allows `NetworkService`
to delegate calls to `ChainSync` while still providing the same API
for other subsystems (for now). This makes it possible to move the
syncing code in piecemeal fashion out of `protocol.rs` as the calls
are just forwarded to `ChainSync`.

* Apply review comments

* Fix tests
This commit is contained in:
Aaro Altonen
2022-10-17 10:25:25 +03:00
committed by GitHub
parent 68e2513265
commit ce4cad8b8b
17 changed files with 301 additions and 45 deletions
+2
View File
@@ -8638,6 +8638,7 @@ name = "sc-network-sync"
version = "0.10.0-dev"
dependencies = [
"array-bytes",
"async-std",
"fork-tree",
"futures",
"libp2p",
@@ -8653,6 +8654,7 @@ dependencies = [
"sc-consensus",
"sc-network-common",
"sc-peerset",
"sc-utils",
"smallvec",
"sp-arithmetic",
"sp-blockchain",