aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2006-07-22 07:15:34 +0000
committerRoger Dingledine <arma@torproject.org>2006-07-22 07:15:34 +0000
commit2d6a4d283b5004f19c5c2c743ead51f6b2ad8440 (patch)
tree16a6d9f63a74bfc5941a546fa970b15684341e18 /src/or
parent444f096d2d624378514b712c78e060ab523e6cea (diff)
downloadtor-2d6a4d283b5004f19c5c2c743ead51f6b2ad8440.tar
tor-2d6a4d283b5004f19c5c2c743ead51f6b2ad8440.tar.gz
i lied, that won't work at all. maybe this will.
svn:r6805
Diffstat (limited to 'src/or')
-rw-r--r--src/or/config.c3
-rw-r--r--src/or/main.c4
-rw-r--r--src/or/or.h1
-rw-r--r--src/or/rephist.c14
4 files changed, 14 insertions, 8 deletions
diff --git a/src/or/config.c b/src/or/config.c
index e0dd745a9..9c6577c07 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -796,8 +796,7 @@ options_act(or_options_t *old_options)
return -1;
}
server_has_changed_ip();
- if (has_completed_circuit ||
- rep_hist_circbuilding_dormant(time(NULL)))
+ if (has_completed_circuit || any_predicted_circuits(time(NULL)))
inform_testing_reachability();
}
cpuworkers_rotate();
diff --git a/src/or/main.c b/src/or/main.c
index ca3742a5c..cb0e74b37 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -569,7 +569,7 @@ directory_info_has_arrived(time_t now, int from_cache)
}
if (server_mode(options) && !we_are_hibernating() && !from_cache &&
- (has_completed_circuit || rep_hist_circbuilding_dormant(now)))
+ (has_completed_circuit || any_predicted_circuits(now)))
consider_testing_reachability();
}
@@ -833,7 +833,7 @@ run_scheduled_events(time_t now)
/* also, check religiously for reachability, if it's within the first
* 20 minutes of our uptime. */
if (server_mode(options) &&
- (has_completed_circuit || rep_hist_circbuilding_dormant(now)) &&
+ (has_completed_circuit || any_predicted_circuits(now)) &&
stats_n_seconds_working < TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT &&
!we_are_hibernating())
consider_testing_reachability();
diff --git a/src/or/or.h b/src/or/or.h
index 8e2d246b8..63869e6dd 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2141,6 +2141,7 @@ void rep_hist_note_used_internal(time_t now, int need_uptime,
int rep_hist_get_predicted_internal(time_t now, int *need_uptime,
int *need_capacity);
+int any_predicted_circuits(time_t now);
int rep_hist_circbuilding_dormant(time_t now);
void rep_hist_free_all(void);
diff --git a/src/or/rephist.c b/src/or/rephist.c
index 3d391ad94..a9a16625c 100644
--- a/src/or/rephist.c
+++ b/src/or/rephist.c
@@ -912,14 +912,20 @@ rep_hist_get_predicted_internal(time_t now, int *need_uptime,
return 1;
}
+/** Any ports used lately? These are pre-seeded if we just started
+ * up or if we're running a hidden service. */
+int
+any_predicted_circuits(time_t now)
+{
+ return smartlist_len(predicted_ports_list) ||
+ predicted_internal_time + PREDICTED_CIRCS_RELEVANCE_TIME >= now;
+}
+
/** Return 1 if we have no need for circuits currently, else return 0. */
int
rep_hist_circbuilding_dormant(time_t now)
{
- /* Any ports used lately? These are pre-seeded if we just started
- * up or if we're running a hidden service. */
- if (smartlist_len(predicted_ports_list) ||
- predicted_internal_time + PREDICTED_CIRCS_RELEVANCE_TIME >= now)
+ if (any_predicted_circuits(now))
return 0;
/* see if we'll still need to build testing circuits */