[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] [tor/master] give proposal 151 a changelog and other touchups



Author: Roger Dingledine <arma@xxxxxxxxxxxxxx>
Date: Thu, 17 Sep 2009 01:42:33 -0400
Subject: give proposal 151 a changelog and other touchups
Commit: ee89061ef29dfd6df7057eadbad4a491548f622c

---
 ChangeLog             |   14 +++++++++++++-
 src/or/circuitbuild.c |    2 +-
 src/or/or.h           |    6 +++---
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 72c9dfd..da363d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
-Changes in version 0.2.2.2-alpha - 2009-09-??
+Changes in version 0.2.2.2-alpha - 2009-09-17
   o Major features:
+    - Tor now tracks how long it takes to build client-side circuits
+      over time, and adapts its timeout to local network performance.
+      Since a circuit that takes a long time to build will also provide
+      bad performance, we get significant latency improvements by
+      discarding the slowest 20% of circuits. Specifically, Tor creates
+      circuits more aggressively than usual until it has enough data
+      points for a good timeout estimate. Implements proposal 151.
+      We are especially looking for reports (good and bad) from users with
+      both EDGE and broadband connections that can move from broadband
+      to EDGE and find out if the build-time data in the .tor/state gets
+      reset without loss of Tor usability. You should also see a notice
+      log message telling you that Tor has reset its timeout.
     - Authorities can now vote on arbitary integer values as part of the
       consensus process. This is designed to help set network parameters.
       Implements proposal 167.
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 177852f..5ea3a31 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -179,7 +179,7 @@ circuit_build_times_add_time(circuit_build_times_t *cbt, build_time_t time)
     cbt->total_build_times++;
 
   if ((cbt->total_build_times % BUILD_TIMES_SAVE_STATE_EVERY) == 0) {
-    /* Save state every 100 circuit builds */
+    /* Save state every n circuit builds */
     if (!unit_tests && !get_options()->AvoidDiskWrites)
       or_state_mark_dirty(get_or_state(), 0);
   }
diff --git a/src/or/or.h b/src/or/or.h
index bdb4d97..1dcb249 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2882,13 +2882,13 @@ void entry_guards_free_all(void);
 /** Width of the histogram bins in milliseconds */
 #define BUILDTIME_BIN_WIDTH ((build_time_t)50)
 
-/** Cuttof point on the CDF for our timeout estimation.
+/** Cutoff 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))
+#define BUILD_TIME_MAX ((build_time_t)(INT32_MAX))
 
 /** Have we received a cell in the last N seconds? */
 #define NETWORK_LIVE_MULTIPLIER (RECENT_CIRCUITS/2.5)
@@ -2903,7 +2903,7 @@ typedef uint32_t build_time_t;
 #define BUILD_TIMES_TEST_FREQUENCY 60
 
 /** Save state every 10 circuits */
-#define BUILD_TIMES_SAVE_STATE_EVERY  10
+#define BUILD_TIMES_SAVE_STATE_EVERY 10
 
 typedef struct {
   /** The circular array of recorded build times in milliseconds */
-- 
1.5.6.5