[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