Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Remove Proposer from Service
Browse files Browse the repository at this point in the history
Refs #1021, #1158
  • Loading branch information
gnunicorn committed Nov 27, 2018
1 parent 8e8b888 commit d537922
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 17 deletions.
16 changes: 0 additions & 16 deletions core/service/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ pub struct Service<Components: components::Components> {
signal: Option<Signal>,
/// Configuration of this Service
pub config: FactoryFullConfiguration<Components::Factory>,
proposer: Arc<ProposerFactory<ComponentClient<Components>, Components::TransactionPoolApi>>,
_rpc_http: Option<rpc::HttpServer>,
_rpc_ws: Option<Mutex<rpc::WsServer>>, // WsServer is not `Sync`, but the service needs to be.
_telemetry: Option<tel::Telemetry>,
Expand Down Expand Up @@ -249,13 +248,6 @@ impl<Components> Service<Components>
task_executor.clone(), transaction_pool.clone()
)?;

let proposer = Arc::new(ProposerFactory {
client: client.clone(),
transaction_pool: transaction_pool.clone(),
offline: Arc::new(RwLock::new(OfflineTracker::new())),
force_delay: 0 // FIXME: allow this to be configured
});

// Telemetry
let telemetry = match config.telemetry_url.clone() {
Some(url) => {
Expand Down Expand Up @@ -290,7 +282,6 @@ impl<Components> Service<Components>
signal: Some(signal),
keystore: keystore,
config,
proposer,
exit,
_rpc_http: rpc_http,
_rpc_ws: rpc_ws.map(Mutex::new),
Expand Down Expand Up @@ -318,13 +309,6 @@ impl<Components> Service<Components> where Components: components::Components {
self.client.clone()
}

/// Get shared proposer instance
pub fn proposer(&self)
-> Arc<ProposerFactory<ComponentClient<Components>, Components::TransactionPoolApi>>
{
self.proposer.clone()
}

/// Get shared network instance.
pub fn network(&self) -> Arc<components::NetworkService<Components::Factory>> {
self.network.as_ref().expect("self.network always Some").clone()
Expand Down
1 change: 1 addition & 0 deletions node/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ substrate-service = { path = "../../core/service" }
substrate-transaction-pool = { path = "../../core/transaction-pool" }
substrate-network = { path = "../../core/network" }
substrate-consensus-aura = { path = "../../core/consensus/aura" }
substrate-consensus-common = { path = "../../core/consensus/common" }
substrate-finality-grandpa = { path = "../../core/finality-grandpa" }
sr-primitives = { path = "../../core/sr-primitives" }
node-executor = { path = "../executor" }
Expand Down
2 changes: 2 additions & 0 deletions node/cli/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ extern crate substrate_transaction_pool as transaction_pool;
#[macro_use]
extern crate substrate_network as network;
extern crate substrate_consensus_aura as consensus;
extern crate substrate_consensus_common as consensus_common;
extern crate substrate_client as client;
extern crate substrate_finality_grandpa as grandpa;
extern crate node_primitives;
Expand All @@ -44,6 +45,7 @@ extern crate substrate_keystore;
#[macro_use]
extern crate log;
extern crate structopt;
extern crate parking_lot;

pub use cli::error;
pub mod chain_spec;
Expand Down
10 changes: 9 additions & 1 deletion node/cli/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@ use substrate_service::{
};
use node_executor;
use consensus::{import_queue, start_aura, Config as AuraConfig, AuraImportQueue, NothingExtra};
use consensus_common::offline_tracker::OfflineTracker;
use primitives::ed25519::Pair;
use client;
use std::time::Duration;
use parking_lot::RwLock;
use grandpa;

const AURA_SLOT_DURATION: u64 = 6;
Expand Down Expand Up @@ -99,14 +101,20 @@ construct_service_factory! {
}
if !service.config.custom.grandpa_authority_only {
info!("Using authority key {}", key.public());
let proposer = Arc::new(substrate_service::ProposerFactory {
client: service.client(),
transaction_pool: service.transaction_pool(),
offline: Arc::new(RwLock::new(OfflineTracker::new())),
force_delay: 0 // FIXME: allow this to be configured https://github.com/paritytech/substrate/issues/1170
});
executor.spawn(start_aura(
AuraConfig {
local_key: Some(key),
slot_duration: AURA_SLOT_DURATION,
},
service.client(),
block_import.clone(),
service.proposer(),
proposer,
service.network(),
));
}
Expand Down

0 comments on commit d537922

Please sign in to comment.