]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
give proposal 151 a changelog and other touchups
authorRoger Dingledine <arma@torproject.org>
Thu, 17 Sep 2009 05:42:33 +0000 (01:42 -0400)
committerRoger Dingledine <arma@torproject.org>
Thu, 17 Sep 2009 05:42:33 +0000 (01:42 -0400)
ChangeLog
src/or/circuitbuild.c
src/or/or.h

index 72c9dfd55fc0759cfb824031bb4669f114e39ac3..da363d9978ee9b972332ad9f02b7de119d7e0a55 100644 (file)
--- 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.
index 177852f91ace95963543b1e99e8e43a5c90aec37..5ea3a31afef348b07fb19850d589658d8be48bd7 100644 (file)
@@ -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);
   }
index bdb4d97924e87433a16a966e50cc90512bc8f119..1dcb2494c62c60cf445fc40b52295eb5c11ea4b1 100644 (file)
@@ -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 */