give proposal 151 a changelog and other touchups

This commit is contained in:
Roger Dingledine 2009-09-17 01:42:33 -04:00
parent feccaa5c83
commit ee89061ef2
3 changed files with 17 additions and 5 deletions

View File

@ -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.

View 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);
}

View 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 */