Browse Source

Cashierd: listen to notification from bridge listen() function

ghassmo 4 năm trước cách đây
mục cha
commit
00bacb3555
1 tập tin đã thay đổi với 16 bổ sung0 xóa
  1. 16 0
      src/bin/cashierd.rs

+ 16 - 0
src/bin/cashierd.rs

@@ -467,6 +467,21 @@ impl Cashierd {
             }
             }
         });
         });
 
 
+        let bridge2 = self.bridge.clone();
+        let listen_for_notification_from_bridge_task = smol::spawn(async move {
+            loop {
+                if let Some(token_notification) = bridge2.clone().listen().await {
+                    let token_notification =
+                        token_notification.expect("listen for notification from bridge");
+
+                    debug!(target: "CASHIER DAEMON", "Notification from birdge: {:?}", token_notification);
+
+                    // TODO should send drk coins
+                
+                }
+            }
+        });
+
         let cfg = RpcServerConfig {
         let cfg = RpcServerConfig {
             socket_addr: self.config.rpc_listen_address.clone(),
             socket_addr: self.config.rpc_listen_address.clone(),
             use_tls: self.config.serve_tls,
             use_tls: self.config.serve_tls,
@@ -478,6 +493,7 @@ impl Cashierd {
 
 
         resume_watch_deposit_keys_task.cancel().await;
         resume_watch_deposit_keys_task.cancel().await;
         listen_for_receiving_coins_task.cancel().await;
         listen_for_receiving_coins_task.cancel().await;
+        listen_for_notification_from_bridge_task.cancel().await;
         cashier_client_subscriber_task.cancel().await;
         cashier_client_subscriber_task.cancel().await;
         Ok(())
         Ok(())
     }
     }