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 18 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
       10 seconds later... and to give up on it every time it timed out
       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:
     - 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?
       - warn if all of your nameservers go down and stay down for like
         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
 

+ 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
  * 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. */
 static int
 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 15;
 }