Connection filter (#6359)

This commit is contained in:
Arkadiy Paronyan
2017-08-29 14:38:01 +02:00
committed by Gav Wood
parent 96e9a73a1b
commit d520aa2633
21 changed files with 346 additions and 24 deletions

View File

@@ -19,7 +19,7 @@ use std::collections::{HashMap, BTreeMap};
use std::io;
use util::Bytes;
use network::{NetworkProtocolHandler, NetworkService, NetworkContext, HostInfo, PeerId, ProtocolId,
NetworkConfiguration as BasicNetworkConfiguration, NonReservedPeerMode, NetworkError};
NetworkConfiguration as BasicNetworkConfiguration, NonReservedPeerMode, NetworkError, ConnectionFilter};
use util::{U256, H256, H512};
use io::{TimerToken};
use ethcore::ethstore::ethkey::Secret;
@@ -236,7 +236,7 @@ pub struct EthSync {
impl EthSync {
/// Creates and register protocol with the network service
pub fn new(params: Params) -> Result<Arc<EthSync>, NetworkError> {
pub fn new(params: Params, connection_filter: Option<Arc<ConnectionFilter>>) -> Result<Arc<EthSync>, NetworkError> {
const MAX_LIGHTSERV_LOAD: f64 = 0.5;
let pruning_info = params.chain.pruning_info();
@@ -272,7 +272,7 @@ impl EthSync {
};
let chain_sync = ChainSync::new(params.config, &*params.chain);
let service = NetworkService::new(params.network_config.clone().into_basic()?)?;
let service = NetworkService::new(params.network_config.clone().into_basic()?, connection_filter)?;
let sync = Arc::new(EthSync {
network: service,
@@ -736,7 +736,7 @@ impl LightSync {
(sync_handler, Arc::new(light_proto))
};
let service = NetworkService::new(params.network_config)?;
let service = NetworkService::new(params.network_config, None)?;
Ok(LightSync {
proto: light_proto,