]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Address nickm's issues from his review #1.
authorMike Perry <mikeperry-git@fscked.org>
Wed, 16 Sep 2009 01:00:48 +0000 (18:00 -0700)
committerMike Perry <mikeperry-git@fscked.org>
Thu, 17 Sep 2009 00:20:29 +0000 (17:20 -0700)
src/or/circuitbuild.c
src/or/or.h

index a141795a1edd0f7fb8c7a40874bebc603e3ee349..25b81992b930fda755d8ea31a810d3963c0fdc9b 100644 (file)
@@ -88,7 +88,7 @@ static smartlist_t *entry_guards = NULL;
 static int entry_guards_dirty = 0;
 
 /** If set, we're running the unit tests: we should avoid clobbering
- * our state file. */
+ * our state file or accessing get_options() or get_or_state() */
 static int unit_tests = 0;
 
 /********* END VARIABLES ************/
@@ -427,11 +427,15 @@ circuit_build_times_update_alpha(circuit_build_times_t *cbt)
   cbt->Xm = circuit_build_times_mode(cbt);
 
   for (i=0; i< NCIRCUITS_TO_OBSERVE; i++) {
-    if (!x[i]) continue;
+    if (!x[i]) {
+      continue;
+    }
 
-    // Hrmm, should we count < Xm as Xm or just drop
-    if (x[i] < cbt->Xm) a += ln(cbt->Xm);
-    else a += ln(x[i]);
+    if (x[i] < cbt->Xm) {
+      a += ln(cbt->Xm);
+    } else {
+      a += ln(x[i]);
+    }
     n++;
   }
 
index 4ee5abf21d4b5849ab9428433d22c15dccac09f9..a343b1f4b1d30bbcca22a2577a92570b923fc0a8 100644 (file)
@@ -2875,12 +2875,13 @@ void entry_guards_free_all(void);
 #define NCIRCUITS_TO_OBSERVE 5000
 
 /** Width of the histogram bins in milliseconds */
-#define BUILDTIME_BIN_WIDTH 50
+#define BUILDTIME_BIN_WIDTH ((build_time_t)50)
 
 /** Cuttof point on the CDF for our timeout estimation.
  * TODO: This should be moved to the consensus */
 #define BUILDTIMEOUT_QUANTILE_CUTOFF 0.8
 
+/** A build_time_t is milliseconds */
 typedef uint32_t build_time_t;
 #define BUILD_TIME_MAX  ((build_time_t)(INT32_MAX))
 
@@ -2900,15 +2901,26 @@ typedef uint32_t build_time_t;
 #define BUILD_TIMES_SAVE_STATE_EVERY  10
 
 typedef struct {
+  /** The circular array of recorded build times in milliseconds */
   build_time_t circuit_build_times[NCIRCUITS_TO_OBSERVE];
+  /** The timestamp we last completed a TLS handshake or received a cell */
   time_t network_last_live;
+  /** Last time we built a circuit. Used to decide to build new test circs */
   time_t last_circ_at;
+  /** Current index in the circuit_build_times circular array */
   int build_times_idx;
+  /** Total number of build times accumulated. Maxes at NCIRCUITS_TO_OBSERVE */
   int total_build_times;
+  /** Number of timeouts that have happened before estimating pareto
+   *  parameters */
   int pre_timeouts;
+  /** "Minimum" value of our pareto distribution (actually mode) */
   build_time_t Xm;
+  /** alpha exponent for pareto dis */
   double alpha;
+  /** Have we computed a timeout? */
   int have_computed_timeout;
+  /** The value for that timeout in seconds, not milliseconds */
   int timeout;
 } circuit_build_times_t;