Skip to content

Commit 914030d

Browse files
committed
Revert "unify spawn_essential_handles params into SpawnEssentialHandlesParams"
This reverts commit 00d5003.
1 parent 00d5003 commit 914030d

File tree

5 files changed

+21
-37
lines changed

5 files changed

+21
-37
lines changed

node/src/consensus/aura_consensus.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use crate::consensus::consensus_mechanism::SpawnEssentialHandlesParams;
21
use crate::consensus::hybrid_import_queue::HybridBlockImport;
32
use crate::consensus::{ConsensusMechanism, StartAuthoringParams};
43
use crate::{
@@ -12,6 +11,7 @@ use sc_client_api::{AuxStore, BlockOf, UsageProvider};
1211
use sc_consensus::{BlockImport, BoxBlockImport};
1312
use sc_consensus_grandpa::BlockNumberOps;
1413
use sc_consensus_slots::{BackoffAuthoringBlocksStrategy, InherentDataProviderExt};
14+
use sc_network_sync::SyncingService;
1515
use sc_service::{Configuration, TaskManager};
1616
use sc_telemetry::TelemetryHandle;
1717
use sc_transaction_pool::TransactionPoolHandle;
@@ -193,12 +193,15 @@ impl ConsensusMechanism for AuraConsensus {
193193

194194
fn spawn_essential_handles(
195195
&self,
196-
p: SpawnEssentialHandlesParams,
196+
task_manager: &mut TaskManager,
197+
client: Arc<FullClient>,
198+
triggered: Option<Arc<std::sync::atomic::AtomicBool>>,
199+
sync_service: Arc<SyncingService<Block>>,
197200
) -> Result<(), sc_service::Error> {
198-
let client_clone = p.client.clone();
199-
let triggered_clone = p.triggered.clone();
200-
let slot_duration = self.slot_duration(&p.client)?;
201-
p.task_manager.spawn_essential_handle().spawn(
201+
let client_clone = client.clone();
202+
let triggered_clone = triggered.clone();
203+
let slot_duration = self.slot_duration(&client)?;
204+
task_manager.spawn_essential_handle().spawn(
202205
"babe-switch",
203206
None,
204207
Box::pin(async move {
@@ -216,7 +219,7 @@ impl ConsensusMechanism for AuraConsensus {
216219
// Babe service. If we only wait for the "warp sync" to finish while state
217220
// sync is still in progress prior to switching, the warp sync will not
218221
// complete successfully.
219-
let syncing = p.sync_service.status().await.is_ok_and(|status| status.warp_sync.is_some() || status.state_sync.is_some());
222+
let syncing = sync_service.status().await.is_ok_and(|status| status.warp_sync.is_some() || status.state_sync.is_some());
220223
if !c.authorities.is_empty() && !syncing {
221224
log::info!("Babe runtime detected! Intentionally failing the essential handle `babe-switch` to trigger switch to Babe service.");
222225
if let Some(triggered) = triggered {

node/src/consensus/babe_consensus.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::consensus::ConsensusMechanism;
22
use crate::consensus::StartAuthoringParams;
3-
use crate::consensus::consensus_mechanism::SpawnEssentialHandlesParams;
43
use crate::{
54
client::{FullBackend, FullClient},
65
conditional_evm_block_import::ConditionalEVMBlockImport,
@@ -17,6 +16,7 @@ use sc_consensus_babe::{BabeLink, BabeWorkerHandle};
1716
use sc_consensus_babe_rpc::{Babe, BabeApiServer};
1817
use sc_consensus_grandpa::BlockNumberOps;
1918
use sc_consensus_slots::{BackoffAuthoringBlocksStrategy, InherentDataProviderExt};
19+
use sc_network_sync::SyncingService;
2020
use sc_service::{Configuration, TaskManager};
2121
use sc_telemetry::TelemetryHandle;
2222
use sc_transaction_pool::TransactionPoolHandle;
@@ -216,7 +216,10 @@ impl ConsensusMechanism for BabeConsensus {
216216

217217
fn spawn_essential_handles(
218218
&self,
219-
_params: SpawnEssentialHandlesParams,
219+
_task_manager: &mut TaskManager,
220+
_client: Arc<FullClient>,
221+
_triggered: Option<Arc<std::sync::atomic::AtomicBool>>,
222+
_sync_service: Arc<SyncingService<Block>>,
220223
) -> Result<(), sc_service::Error> {
221224
// No additional Babe handles required.
222225
Ok(())

node/src/consensus/consensus_mechanism.rs

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,10 @@ pub trait ConsensusMechanism {
122122
/// Spawns any consensus mechanism specific essential handles.
123123
fn spawn_essential_handles(
124124
&self,
125-
params: SpawnEssentialHandlesParams,
125+
task_manager: &mut TaskManager,
126+
client: Arc<FullClient>,
127+
triggered: Option<Arc<AtomicBool>>,
128+
sync_service: Arc<SyncingService<Block>>,
126129
) -> Result<(), ServiceError>;
127130

128131
/// Returns any consensus mechanism specific rpc methods to register.
@@ -133,26 +136,3 @@ pub trait ConsensusMechanism {
133136
select_chain: FullSelectChain,
134137
) -> Result<Vec<Methods>, sc_service::Error>;
135138
}
136-
137-
pub struct SpawnEssentialHandlesParams<'a> {
138-
pub task_manager: &'a mut TaskManager,
139-
pub client: Arc<FullClient>,
140-
pub triggered: Option<Arc<AtomicBool>>,
141-
pub sync_service: Arc<SyncingService<Block>>,
142-
}
143-
144-
impl<'a> SpawnEssentialHandlesParams<'a> {
145-
pub fn new(
146-
task_manager: &'a mut TaskManager,
147-
client: Arc<FullClient>,
148-
triggered: Option<Arc<AtomicBool>>,
149-
sync_service: Arc<SyncingService<Block>>,
150-
) -> Self {
151-
Self {
152-
task_manager,
153-
client,
154-
triggered,
155-
sync_service,
156-
}
157-
}
158-
}

node/src/consensus/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,4 @@ mod hybrid_import_queue;
66
pub use aura_consensus::AuraConsensus;
77
pub use babe_consensus::BabeConsensus;
88
pub use consensus_mechanism::ConsensusMechanism;
9-
pub use consensus_mechanism::SpawnEssentialHandlesParams;
109
pub use consensus_mechanism::StartAuthoringParams;

node/src/service.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
22
33
use crate::consensus::ConsensusMechanism;
4-
use crate::consensus::SpawnEssentialHandlesParams;
54
use futures::{FutureExt, channel::mpsc, future};
65
use node_subtensor_runtime::{RuntimeApi, TransactionConverter, opaque::Block};
76
use sc_chain_spec::ChainType;
@@ -351,12 +350,12 @@ where
351350
metrics,
352351
})?;
353352

354-
consensus_mechanism.spawn_essential_handles(SpawnEssentialHandlesParams::new(
353+
consensus_mechanism.spawn_essential_handles(
355354
&mut task_manager,
356355
client.clone(),
357356
custom_service_signal,
358357
sync_service.clone(),
359-
))?;
358+
)?;
360359

361360
if config.offchain_worker.enabled && config.role.is_authority() {
362361
let public_keys = keystore_container

0 commit comments

Comments
 (0)