]> granicus.if.org Git - transmission/commitdiff
(trunk, libT) #5395: when announces fail, lower the period before the first retry...
authorJordan Lee <jordan@transmissionbt.com>
Tue, 16 Jul 2013 00:13:30 +0000 (00:13 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Tue, 16 Jul 2013 00:13:30 +0000 (00:13 +0000)
libtransmission/announcer.c

index 07c7cd24e4d831e3cfd2d3d5b96d9e95e06138b2..37697272e7e763f147849beac70163dbe8496092 100644 (file)
@@ -962,17 +962,15 @@ tr_announcerRemoveTorrent (tr_announcer * announcer, tr_torrent * tor)
 static int
 getRetryInterval (const tr_tracker * t)
 {
-    int minutes;
-    const unsigned int jitter_seconds = tr_cryptoWeakRandInt (60);
-    switch (t->consecutiveFailures) {
-        case 0:  minutes =   1; break;
-        case 1:  minutes =   5; break;
-        case 2:  minutes =  15; break;
-        case 3:  minutes =  30; break;
-        case 4:  minutes =  60; break;
-        default: minutes = 120; break;
+  switch (t->consecutiveFailures)
+    {
+      case 0:  return 20;
+      case 1:  return tr_cryptoWeakRandInt (60) + (60 * 5);
+      case 2:  return tr_cryptoWeakRandInt (60) + (60 * 15);
+      case 3:  return tr_cryptoWeakRandInt (60) + (60 * 30);
+      case 4:  return tr_cryptoWeakRandInt (60) + (60 * 60);
+      default: return tr_cryptoWeakRandInt (60) + (60 * 120);
     }
-    return (minutes * 60) + jitter_seconds;
 }
 
 struct announce_data