Browse Source

retry streams where the connected cell hasn't arrived in 15 seconds

svn:r1100
Roger Dingledine 22 years ago
parent
commit
39efb0ed52
1 changed files with 6 additions and 4 deletions
  1. 6 4
      src/or/connection_edge.c

+ 6 - 4
src/or/connection_edge.c

@@ -538,11 +538,13 @@ void connection_ap_expire_beginning(void) {
     if (conn->type != CONN_TYPE_AP ||
         conn->state != AP_CONN_STATE_CONNECTING)
       continue;
-    if (now - conn->timestamp_lastread > 30) {
-      log_fn(LOG_WARN,"Stream is %d seconds late. Closing.",
+    if (now - conn->timestamp_lastread >= 15) {
+      log_fn(LOG_WARN,"Stream is %d seconds late. Retrying.",
              (int)(now - conn->timestamp_lastread));
-      /* XXX here is where it should move back into 'pending' state */
-      conn->marked_for_close = 1;
+      /* move it back into 'pending' state. It's possible it will
+       * reattach to this same circuit, but that's good enough for now.
+       */
+      conn->state = AP_CONN_STATE_CIRCUIT_WAIT;
     }
   }
 }