diff options
author | Mike Perry <mikeperry-git@fscked.org> | 2009-09-16 17:14:01 -0700 |
---|---|---|
committer | Mike Perry <mikeperry-git@fscked.org> | 2009-09-16 17:20:34 -0700 |
commit | e2c2fa7a1f763b1815adc13bdea46d4dbdba78c1 (patch) | |
tree | 0897a588bb7f0c2ed82df2ab4c9d256e89498072 /src | |
parent | e4e0ce94f0cd6ad18b9158e99936faeee5b6e092 (diff) | |
download | tor-e2c2fa7a1f763b1815adc13bdea46d4dbdba78c1.tar.gz tor-e2c2fa7a1f763b1815adc13bdea46d4dbdba78c1.zip |
Change liveness value to be a function of the timeout.
And also the number of recent circuits used to decide
when the network changes.
Diffstat (limited to 'src')
-rw-r--r-- | src/or/circuitbuild.c | 5 | ||||
-rw-r--r-- | src/or/or.h | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c index a87ad2e290..1cb1fd2144 100644 --- a/src/or/circuitbuild.c +++ b/src/or/circuitbuild.c @@ -628,13 +628,14 @@ circuit_build_times_network_is_live(circuit_build_times_t *cbt) /** * Returns true if the network showed some sign of liveness - * in the past NETWORK_LIVE_INTERVAL. + * in the past NETWORK_LIVE_MULTIPLIER*cbt->timeout seconds. */ int circuit_build_times_is_network_live(circuit_build_times_t *cbt) { time_t now = approx_time(); - if (now - cbt->network_last_live > NETWORK_LIVE_INTERVAL) { + if (now - cbt->network_last_live > + (cbt->timeout*NETWORK_LIVE_MULTIPLIER)) { log_info(LD_CIRC, "Network is no longer live. Dead for %ld seconds.", now - cbt->network_last_live); return 0; diff --git a/src/or/or.h b/src/or/or.h index fb4ab8452f..98fa841065 100644 --- a/src/or/or.h +++ b/src/or/or.h @@ -2885,8 +2885,8 @@ void entry_guards_free_all(void); typedef uint32_t build_time_t; #define BUILD_TIME_MAX ((build_time_t)(INT32_MAX)) -/** Have we received a cell in the last 90 seconds? */ -#define NETWORK_LIVE_INTERVAL 90 +/** Have we received a cell in the last N seconds? */ +#define NETWORK_LIVE_MULTIPLIER (RECENT_CIRCUITS/2.5) /** Lowest allowable value for CircuitBuildTimeout */ #define BUILD_TIMEOUT_MIN_VALUE 3 |