Change liveness value to be a function of the timeout.

And also the number of recent circuits used to decide
when the network changes.
This commit is contained in:
Mike Perry
2009-09-16 17:14:01 -07:00
parent e4e0ce94f0
commit e2c2fa7a1f
2 changed files with 5 additions and 4 deletions
+3 -2
View File
@@ -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;
+2 -2
View File
@@ -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