Browse Source

Take out the '5 second' timeout from the connection retry
schedule. Now the first connect attempt will wait a full 10
seconds before switching to a new circuit. Perhaps this will help
a lot. Based on observations from Mike Perry.


svn:r9159

Roger Dingledine 17 years ago
parent
commit
00257212c7
3 changed files with 8 additions and 6 deletions
  1. 4 0
      ChangeLog
  2. 1 1
      doc/TODO
  3. 3 5
      src/or/connection_edge.c

+ 4 - 0
ChangeLog

@@ -50,6 +50,10 @@ Changes in version 0.1.2.5-xxxx - 200?-??-??
       give up on a nameserver the third time it timed out, and try it
       give up on a nameserver the third time it timed out, and try it
       10 seconds later... and to give up on it every time it timed out
       10 seconds later... and to give up on it every time it timed out
       after that. (May fix bug 326.)
       after that. (May fix bug 326.)
+    - Take out the '5 second' timeout from the connection retry
+      schedule. Now the first connect attempt will wait a full 10
+      seconds before switching to a new circuit. Perhaps this will help
+      a lot. Based on observations from Mike Perry.
 
 
   o Minor bugfixes:
   o Minor bugfixes:
     - Fix a bug when a PF socket is first used. (Patch from Fabian Keil.)
     - Fix a bug when a PF socket is first used. (Patch from Fabian Keil.)

+ 1 - 1
doc/TODO

@@ -124,7 +124,7 @@ d   - Be a DNS proxy.
         answer?
         answer?
       - warn if all of your nameservers go down and stay down for like
       - warn if all of your nameservers go down and stay down for like
         5 minutes.
         5 minutes.
-R - Take out the '5 second' timeout from the socks detach schedule.
+R o Take out the '5 second' timeout from the socks detach schedule.
 
 
   - Performance improvements
   - Performance improvements
 
 

+ 3 - 5
src/or/connection_edge.c

@@ -321,15 +321,13 @@ connection_edge_finished_connecting(edge_connection_t *edge_conn)
 
 
 /** Define a schedule for how long to wait between retrying
 /** Define a schedule for how long to wait between retrying
  * application connections. Rather than waiting a fixed amount of
  * application connections. Rather than waiting a fixed amount of
- * time between each retry, we wait only 5 seconds for the first,
- * 10 seconds for the second, and 15 seconds for each retry after
+ * time between each retry, we wait 10 seconds each for the first
+ *  two tries, and 15 seconds for each retry after
  * that. Hopefully this will improve the expected user experience. */
  * that. Hopefully this will improve the expected user experience. */
 static int
 static int
 compute_socks_timeout(edge_connection_t *conn)
 compute_socks_timeout(edge_connection_t *conn)
 {
 {
-  if (conn->num_socks_retries == 0)
-    return 5;
-  if (conn->num_socks_retries == 1)
+  if (conn->num_socks_retries < 2) /* try 0 and try 1 */
     return 10;
     return 10;
   return 15;
   return 15;
 }
 }