Skip to content
This repository was archived by the owner on Feb 3, 2025. It is now read-only.

Commit 1d21aec

Browse files
committed
Stop NodeManager separately
Before we relied on the NodeManager to stop everything. With us moving to make the NodeManager optional, we need to be able to stop the NodeManager separately so we turn it off while Mutiny is running without having to stop everything else.
1 parent 3615aac commit 1d21aec

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

mutiny-core/src/lib.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,6 @@ impl<S: MutinyStorage> MutinyWalletBuilder<S> {
840840

841841
let mut nm_builder = NodeManagerBuilder::new(self.xprivkey, self.storage.clone())
842842
.with_config(config.clone());
843-
nm_builder.with_stop(stop.clone());
844843
nm_builder.with_logger(logger.clone());
845844
let node_manager = Arc::new(nm_builder.build().await?);
846845

@@ -1150,7 +1149,6 @@ impl<S: MutinyStorage> MutinyWallet<S> {
11501149

11511150
let mut nm_builder = NodeManagerBuilder::new(self.xprivkey, self.storage.clone())
11521151
.with_config(self.config.clone());
1153-
nm_builder.with_stop(self.stop.clone());
11541152
nm_builder.with_logger(self.logger.clone());
11551153

11561154
// when we restart, gen a new session id
@@ -2315,7 +2313,18 @@ impl<S: MutinyStorage> MutinyWallet<S> {
23152313
/// Stops all of the nodes and background processes.
23162314
/// Returns after node has been stopped.
23172315
pub async fn stop(&self) -> Result<(), MutinyError> {
2318-
self.node_manager.stop().await
2316+
self.stop.store(true, Ordering::Relaxed);
2317+
2318+
self.node_manager.stop().await?;
2319+
2320+
// stop the indexeddb object to close db connection
2321+
if self.storage.connected().unwrap_or(false) {
2322+
log_debug!(self.logger, "stopping storage");
2323+
self.storage.stop();
2324+
log_debug!(self.logger, "stopped storage");
2325+
}
2326+
2327+
Ok(())
23192328
}
23202329

23212330
pub async fn change_password(

mutiny-core/src/nodemanager.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -603,13 +603,6 @@ impl<S: MutinyStorage> NodeManager<S> {
603603
nodes.clear();
604604
log_debug!(self.logger, "stopped all nodes");
605605

606-
// stop the indexeddb object to close db connection
607-
if self.storage.connected().unwrap_or(false) {
608-
log_debug!(self.logger, "stopping storage");
609-
self.storage.stop();
610-
log_debug!(self.logger, "stopped storage");
611-
}
612-
613606
Ok(())
614607
}
615608

0 commit comments

Comments
 (0)