Companion PR to splitting Roles (#960)

* Companion PR to splitting Roles

* Fix network tests

* Fix service build

* Even more fixing

* Oops, quick fix

* use is_network_authority in grandpa service config

Co-authored-by: André Silva <andre.beat@gmail.com>
This commit is contained in:
Pierre Krieger
2020-04-03 19:08:46 +02:00
committed by GitHub
parent a26d919d8b
commit 8ce7154111
7 changed files with 41 additions and 51 deletions
+7 -7
View File
@@ -51,7 +51,7 @@
use sp_runtime::traits::{BlakeTwo256, Hash as HashT};
use sp_blockchain::Error as ClientError;
use sc_network::{config::Roles, PeerId, ReputationChange};
use sc_network::{ObservedRole, PeerId, ReputationChange};
use sc_network::NetworkService;
use sc_network_gossip::{
ValidationResult as GossipValidationResult,
@@ -635,7 +635,7 @@ impl<C: ChainContext + ?Sized> MessageValidator<C> {
}
impl<C: ChainContext + ?Sized> sc_network_gossip::Validator<Block> for MessageValidator<C> {
fn new_peer(&self, _context: &mut dyn ValidatorContext<Block>, who: &PeerId, _roles: Roles) {
fn new_peer(&self, _context: &mut dyn ValidatorContext<Block>, who: &PeerId, _roles: ObservedRole) {
let mut inner = self.inner.write();
inner.peers.insert(who.clone(), PeerData::default());
}
@@ -833,7 +833,7 @@ mod tests {
let peer_a = PeerId::random();
let mut validator_context = MockValidatorContext::default();
validator.new_peer(&mut validator_context, &peer_a, Roles::FULL);
validator.new_peer(&mut validator_context, &peer_a, ObservedRole::Full);
assert!(validator_context.events.is_empty());
validator_context.clear();
@@ -911,7 +911,7 @@ mod tests {
let peer_a = PeerId::random();
let mut validator_context = MockValidatorContext::default();
validator.new_peer(&mut validator_context, &peer_a, Roles::FULL);
validator.new_peer(&mut validator_context, &peer_a, ObservedRole::Full);
assert!(validator_context.events.is_empty());
validator_context.clear();
@@ -953,7 +953,7 @@ mod tests {
let peer_a = PeerId::random();
let mut validator_context = MockValidatorContext::default();
validator.new_peer(&mut validator_context, &peer_a, Roles::FULL);
validator.new_peer(&mut validator_context, &peer_a, ObservedRole::Full);
assert!(validator_context.events.is_empty());
validator_context.clear();
@@ -1007,7 +1007,7 @@ mod tests {
let peer_a = PeerId::random();
let mut validator_context = MockValidatorContext::default();
validator.new_peer(&mut validator_context, &peer_a, Roles::FULL);
validator.new_peer(&mut validator_context, &peer_a, ObservedRole::Full);
assert!(validator_context.events.is_empty());
validator_context.clear();
@@ -1099,7 +1099,7 @@ mod tests {
let peer_a = PeerId::random();
let mut validator_context = MockValidatorContext::default();
validator.new_peer(&mut validator_context, &peer_a, Roles::FULL);
validator.new_peer(&mut validator_context, &peer_a, ObservedRole::Full);
assert!(validator_context.events.is_empty());
validator_context.clear();
+6 -6
View File
@@ -41,7 +41,7 @@ use polkadot_validation::{
SharedTable, TableRouter, Network as ParachainNetwork, Validated, GenericStatement, Collators,
SignedStatement,
};
use sc_network::{config::Roles, Event, PeerId};
use sc_network::{ObservedRole, Event, PeerId};
use sp_api::ProvideRuntimeApi;
use sp_runtime::ConsensusEngineId;
@@ -72,7 +72,7 @@ mod tests;
// Messages from the service API or network adapter.
enum ServiceToWorkerMsg {
// basic peer messages.
PeerConnected(PeerId, Roles),
PeerConnected(PeerId, ObservedRole),
PeerMessage(PeerId, Vec<bytes::Bytes>),
PeerDisconnected(PeerId),
@@ -255,11 +255,11 @@ pub fn start<C, Api, SP>(
Event::NotificationStreamOpened {
remote,
engine_id,
roles,
role,
} => {
if engine_id != POLKADOT_ENGINE_ID { continue }
worker_sender.send(ServiceToWorkerMsg::PeerConnected(remote, roles)).await
worker_sender.send(ServiceToWorkerMsg::PeerConnected(remote, role)).await
},
Event::NotificationStreamClosed {
remote,
@@ -496,8 +496,8 @@ impl ProtocolHandler {
}
}
fn on_connect(&mut self, peer: PeerId, roles: Roles) {
let claimed_validator = roles.contains(Roles::AUTHORITY);
fn on_connect(&mut self, peer: PeerId, role: ObservedRole) {
let claimed_validator = matches!(role, ObservedRole::OurSentry | ObservedRole::OurGuardedAuthority | ObservedRole::Authority);
self.peers.insert(peer.clone(), PeerData {
claimed_validator,
+3 -3
View File
@@ -189,7 +189,7 @@ sp_api::mock_impl_runtime_apis! {
}
impl super::Service<MockNetworkOps> {
async fn connect_peer(&mut self, peer: PeerId, roles: Roles) {
async fn connect_peer(&mut self, peer: PeerId, roles: ObservedRole) {
self.sender.send(ServiceToWorkerMsg::PeerConnected(peer, roles)).await.unwrap();
}
@@ -373,7 +373,7 @@ fn validator_peer_cleaned_up() {
pool.spawner().spawn_local(worker_task).unwrap();
pool.run_until(async move {
service.connect_peer(peer.clone(), Roles::AUTHORITY).await;
service.connect_peer(peer.clone(), ObservedRole::Authority).await;
service.peer_message(peer.clone(), Message::Status(Status {
version: VERSION,
collating_for: None,
@@ -433,7 +433,7 @@ fn validator_key_spillover_cleaned() {
pool.spawner().spawn_local(worker_task).unwrap();
pool.run_until(async move {
service.connect_peer(peer.clone(), Roles::AUTHORITY).await;
service.connect_peer(peer.clone(), ObservedRole::Authority).await;
service.peer_message(peer.clone(), Message::Status(Status {
version: VERSION,
collating_for: None,