Sfoglia il codice sorgente

seedsync_session: fix deceptive logic on failed()

We should return an error when ALL seed slots have failed, not ANY.

Otherwise this would print a deceptive error message ("Network reseed failed") if
we have e.g. 2 seed slots and one seeds successfully and the other fails.
draoi 2 anni fa
parent
commit
a5eb9cc5bf
1 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 1
      src/net/session/seedsync_session.rs

+ 2 - 1
src/net/session/seedsync_session.rs

@@ -127,9 +127,10 @@ impl SeedSyncSession {
         debug!(target: "net::seedsync_session", "Seed sync session stopped!");
     }
 
+    /// Returns true if every seed attempt per slot has failed.
     pub(crate) async fn failed(&self) -> bool {
         let slots = &*self.slots.lock().await;
-        slots.iter().any(|s| s.failed())
+        slots.iter().all(|s| s.failed())
     }
 }