Network sync refactoring (part 6) (#11940)

* Extract `NetworkKVProvider` trait in `sc-authority-discovery` and remove unnecessary dependency

* Extract `NetworkSyncForkRequest` trait in `sc-finality-grandpa`

* Relax requirements on `SyncOracle` trait, remove extra native methods from `NetworkService` that are already provided by trait impls

* Move `NetworkSigner` trait from `sc-authority-discovery` into `sc-network-common` and de-duplicate methods on `NetworkService`

* Move `NetworkKVProvider` trait from `sc-authority-discovery` into `sc-network-common` and de-duplicate methods on `NetworkService`

* Minimize `sc-authority-discovery` dependency on `sc-network`

* Move `NetworkSyncForkRequest` trait from `sc-finality-grandpa` to `sc-network-common` and de-duplicate methods in `NetworkService`

* Extract `NetworkStatusProvider` trait and de-duplicate methods on `NetworkService`

* Extract `NetworkPeers` trait and de-duplicate methods on `NetworkService`

* Extract `NetworkEventStream` trait and de-duplicate methods on `NetworkService`

* Move more methods from `NetworkService` into `NetworkPeers` trait

* Move `NetworkStateInfo` trait into `sc-network-common`

* Extract `NetworkNotification` trait and de-duplicate methods on `NetworkService`

* Extract `NetworkRequest` trait and de-duplicate methods on `NetworkService`

* Remove `NetworkService::local_peer_id()`, it is already provided by `NetworkStateInfo` impl

* Extract `NetworkTransaction` trait and de-duplicate methods on `NetworkService`

* Extract `NetworkBlock` trait and de-duplicate methods on `NetworkService`

* Remove dependencies on `NetworkService` from most of the methods of `sc-service`

* Address simple review comments
This commit is contained in:
Nazar Mokrynskyi
2022-08-09 21:28:32 +03:00
committed by GitHub
parent 9c56e79c43
commit a685582bfd
49 changed files with 1889 additions and 1029 deletions
+5 -4
View File
@@ -26,6 +26,7 @@ use sc_network::{
config::{NetworkConfiguration, TransportConfig},
multiaddr, Multiaddr,
};
use sc_network_common::service::{NetworkBlock, NetworkPeers, NetworkStateInfo};
use sc_service::{
client::Client,
config::{BasePath, DatabaseSource, KeystoreConfig},
@@ -320,7 +321,7 @@ where
handle.spawn(service.clone().map_err(|_| ()));
let addr =
addr.with(multiaddr::Protocol::P2p((*service.network().local_peer_id()).into()));
addr.with(multiaddr::Protocol::P2p((service.network().local_peer_id()).into()));
self.authority_nodes.push((self.nodes, service, user_data, addr));
self.nodes += 1;
}
@@ -340,7 +341,7 @@ where
handle.spawn(service.clone().map_err(|_| ()));
let addr =
addr.with(multiaddr::Protocol::P2p((*service.network().local_peer_id()).into()));
addr.with(multiaddr::Protocol::P2p((service.network().local_peer_id()).into()));
self.full_nodes.push((self.nodes, service, user_data, addr));
self.nodes += 1;
}
@@ -387,7 +388,7 @@ where
}
network.run_until_all_full(move |_index, service| {
let connected = service.network().num_connected();
let connected = service.network().sync_num_connected();
debug!("Got {}/{} full connections...", connected, expected_full_connections);
connected == expected_full_connections
});
@@ -422,7 +423,7 @@ where
}
network.run_until_all_full(move |_index, service| {
let connected = service.network().num_connected();
let connected = service.network().sync_num_connected();
debug!("Got {}/{} full connections...", connected, expected_full_connections);
connected == expected_full_connections
});