Просмотр исходного кода

p2p channels() doesn't need to be async

x 2 лет назад
Родитель
Сommit
5874702bce

+ 1 - 1
bin/darkfid/src/rpc_tx.rs

@@ -149,7 +149,7 @@ impl Darkfid {
 
         if let Some(sync_p2p) = &self.sync_p2p {
             sync_p2p.broadcast(&tx).await;
-            if sync_p2p.channels().await.lock().await.is_empty() {
+            if sync_p2p.channels().lock().await.is_empty() {
                 error!("[RPC] tx.broadcast: Failed broadcasting tx, no connected channels");
                 return server_error(RpcError::TxBroadcastFail, id, None)
             }

+ 1 - 1
bin/darkfid2/src/rpc_tx.rs

@@ -144,7 +144,7 @@ impl Darkfid {
         }
 
         self.sync_p2p.broadcast(&tx).await;
-        if self.sync_p2p.channels().await.lock().await.is_empty() {
+        if self.sync_p2p.channels().lock().await.is_empty() {
             error!(target: "darkfid::rpc::tx_broadcast", "Failed broadcasting tx, no connected channels");
             return server_error(RpcError::TxBroadcastFail, id, None)
         }

+ 1 - 1
bin/darkfid2/src/task/sync.rs

@@ -31,7 +31,7 @@ pub async fn sync_task(node: &Darkfid) -> Result<()> {
     info!(target: "darkfid::task::sync_task", "Starting blockchain sync...");
     // Block until at least node is connected to at least one peer
     loop {
-        if !node.sync_p2p.channels().await.lock().await.is_empty() {
+        if !node.sync_p2p.channels().lock().await.is_empty() {
             break
         }
         warn!(target: "darkfid::task::sync_task", "Node is not connected to other nodes, waiting to retry...");

+ 1 - 1
src/consensus/task/consensus_sync.rs

@@ -35,7 +35,7 @@ pub async fn consensus_sync_task(p2p: P2pPtr, state: ValidatorStatePtr) -> Resul
     info!(target: "consensus::consensus_sync", "Starting consensus state sync...");
     let current_slot = state.read().await.consensus.time_keeper.current_slot();
     // Loop through connected channels
-    let channels_map = p2p.channels().await.lock().await;
+    let channels_map = p2p.channels().lock().await;
     let values = channels_map.values();
     // Using len here because is_empty() uses unstable library feature
     // called 'exact_size_is_empty'.

+ 3 - 3
src/net/p2p.rs

@@ -236,18 +236,18 @@ impl P2p {
     }
 
     /// Return reference to connected channels map
-    pub async fn channels(&self) -> &ConnectedChannels {
+    pub fn channels(&self) -> &ConnectedChannels {
         &self.channels
     }
 
     /// Retrieve a random connected channel from the
     pub async fn random_channel(&self) -> Option<ChannelPtr> {
-        let channels = self.channels().await.lock().await;
+        let channels = self.channels().lock().await;
         channels.values().choose(&mut OsRng).cloned()
     }
 
     pub async fn is_connected(&self) -> bool {
-        !self.channels().await.lock().await.is_empty()
+        !self.channels().lock().await.is_empty()
     }
 
     /// Return an atomic pointer to the set network settings