skoupidi 2 лет назад
Родитель
Сommit
46f8c30a20
2 измененных файлов с 10 добавлено и 5 удалено
  1. 7 3
      bin/darkfid/src/main.rs
  2. 3 2
      bin/darkfid/src/tests/harness.rs

+ 7 - 3
bin/darkfid/src/main.rs

@@ -315,7 +315,7 @@ async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> {
         None => 50,
     };
 
-    info!("Starting dnet subs task");
+    info!(target: "darkfid", "Starting dnet subs task");
     let dnet_sub = JsonSubscriber::new("dnet.subscribe_events");
     let dnet_sub_ = dnet_sub.clone();
     let p2p_ = p2p.clone();
@@ -325,19 +325,20 @@ async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> {
             let dnet_sub = p2p_.dnet_subscribe().await;
             loop {
                 let event = dnet_sub.receive().await;
-                debug!("Got dnet event: {:?}", event);
+                debug!(target: "darkfid", "Got dnet event: {:?}", event);
                 dnet_sub_.notify(vec![event.into()].into()).await;
             }
         },
         |res| async {
             match res {
                 Ok(()) | Err(Error::DetachedTaskStopped) => { /* Do nothing */ }
-                Err(e) => panic!("{}", e),
+                Err(e) => error!(target: "darkfid", "Failed starting dnet subs task: {}", e),
             }
         },
         Error::DetachedTaskStopped,
         ex.clone(),
     );
+
     // Initialize node
     let darkfid = Darkfid::new(
         p2p.clone(),
@@ -416,6 +417,9 @@ async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> {
     signals_handler.wait_termination(signals_task).await?;
     info!(target: "darkfid", "Caught termination signal, cleaning up and exiting...");
 
+    info!(target: "darkfid", "Stopping dnet subs task...");
+    dnet_task.stop().await;
+
     info!(target: "darkfid", "Stopping JSON-RPC server...");
     rpc_task.stop().await;
 

+ 3 - 2
bin/darkfid/src/tests/harness.rs

@@ -232,14 +232,15 @@ pub async fn generate_node(
     vks::inject(&sled_db, vks)?;
 
     let validator = Validator::new(&sled_db, config.clone()).await?;
-    // We initialize a dnet subscriber but do not activate it.
-    let dnet_sub = JsonSubscriber::new("dnet.subscribe_events");
 
     let mut subscribers = HashMap::new();
     subscribers.insert("blocks", JsonSubscriber::new("blockchain.subscribe_blocks"));
     subscribers.insert("txs", JsonSubscriber::new("blockchain.subscribe_txs"));
     subscribers.insert("proposals", JsonSubscriber::new("blockchain.subscribe_proposals"));
 
+    // We initialize a dnet subscriber but do not activate it.
+    let dnet_sub = JsonSubscriber::new("dnet.subscribe_events");
+
     let p2p = spawn_p2p(settings, &validator, &subscribers, ex.clone()).await;
     let node = Darkfid::new(p2p.clone(), validator, miner, 50, subscribers, None, dnet_sub).await;