From 6b83f11a11be5a501c3a55f66be494e9d7a6f797 Mon Sep 17 00:00:00 2001 From: Arkadiy Paronyan <arkady.paronyan@gmail.com> Date: Thu, 5 Apr 2018 09:57:44 +0200 Subject: [PATCH] Expose transaction pool from the polkadot service (#109) --- substrate/polkadot/service/src/lib.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/substrate/polkadot/service/src/lib.rs b/substrate/polkadot/service/src/lib.rs index d3daac84ca8..ea33bad5ec8 100644 --- a/substrate/polkadot/service/src/lib.rs +++ b/substrate/polkadot/service/src/lib.rs @@ -74,6 +74,7 @@ pub struct Service { thread: Option<thread::JoinHandle<()>>, client: Arc<Client>, network: Arc<network::Service>, + transaction_pool: Arc<Mutex<TransactionPool>>, _consensus: Option<consensus::Service>, } @@ -182,7 +183,7 @@ impl Service { // Load the first available key. Code above makes sure it exisis. let key = keystore.load(&keystore.contents()?[0], "")?; info!("Using authority key {:?}", key.public()); - Some(consensus::Service::new(client.clone(), network.clone(), transaction_pool, key, &best_header)) + Some(consensus::Service::new(client.clone(), network.clone(), transaction_pool.clone(), key, &best_header)) } else { None }; @@ -203,8 +204,9 @@ impl Service { }); Ok(Service { thread: Some(thread), - client: client.clone(), - network: network.clone(), + client: client, + network: network, + transaction_pool: transaction_pool, _consensus: consensus_service, }) } @@ -218,6 +220,11 @@ impl Service { pub fn network(&self) -> Arc<network::Service> { self.network.clone() } + + /// Get shared transaction pool instance. + pub fn transaction_pool(&self) -> Arc<Mutex<TransactionPool>> { + self.transaction_pool.clone() + } } impl Drop for Service { -- GitLab