Browse Source

save 3-7 bytes per edge connection

svn:r7044
Roger Dingledine 19 years ago
parent
commit
2c27cfc38e
2 changed files with 3 additions and 2 deletions
  1. 2 1
      src/or/connection_edge.c
  2. 1 1
      src/or/or.h

+ 2 - 1
src/or/connection_edge.c

@@ -417,7 +417,8 @@ connection_ap_expire_beginning(void)
     circ->timestamp_dirty -= options->MaxCircuitDirtiness;
     /* give our stream another 'cutoff' seconds to try */
     conn->_base.timestamp_lastread += cutoff;
-    conn->num_socks_retries++;
+    if (conn->num_socks_retries < 250) /* avoid overflow */
+      conn->num_socks_retries++;
     /* move it back into 'pending' state, and try to attach. */
     if (connection_ap_detach_retriable(conn, TO_ORIGIN_CIRCUIT(circ))<0) {
       connection_mark_unattached_ap(conn, END_STREAM_REASON_CANT_ATTACH);

+ 1 - 1
src/or/or.h

@@ -713,7 +713,7 @@ typedef struct edge_connection_t {
   /** Number of times we've reassigned this application connection to
    * a new circuit. We keep track because the timeout is longer if we've
    * already retried several times. */
-  int num_socks_retries;
+  uint8_t num_socks_retries;
 
   /** Nickname of planned exit node -- used with .exit support. */
   char *chosen_exit_name;