|
@@ -36,12 +36,18 @@ static int unit_tests = 0;
|
|
|
#define unit_tests 0
|
|
|
#endif
|
|
|
|
|
|
-circuit_build_times_t *
|
|
|
+const circuit_build_times_t *
|
|
|
get_circuit_build_times(void)
|
|
|
{
|
|
|
return &circ_times;
|
|
|
}
|
|
|
|
|
|
+circuit_build_times_t *
|
|
|
+get_circuit_build_times_mutable(void)
|
|
|
+{
|
|
|
+ return &circ_times;
|
|
|
+}
|
|
|
+
|
|
|
double
|
|
|
get_circuit_build_close_time_ms(void)
|
|
|
{
|
|
@@ -175,7 +181,7 @@ circuit_build_times_min_circs_to_observe(void)
|
|
|
/** Return true iff <b>cbt</b> has recorded enough build times that we
|
|
|
* want to start acting on the timeout it implies. */
|
|
|
int
|
|
|
-circuit_build_times_enough_to_compute(circuit_build_times_t *cbt)
|
|
|
+circuit_build_times_enough_to_compute(const circuit_build_times_t *cbt)
|
|
|
{
|
|
|
return cbt->total_build_times >= circuit_build_times_min_circs_to_observe();
|
|
|
}
|
|
@@ -578,7 +584,7 @@ circuit_build_times_add_time(circuit_build_times_t *cbt, build_time_t time)
|
|
|
* Return maximum circuit build time
|
|
|
*/
|
|
|
static build_time_t
|
|
|
-circuit_build_times_max(circuit_build_times_t *cbt)
|
|
|
+circuit_build_times_max(const circuit_build_times_t *cbt)
|
|
|
{
|
|
|
int i = 0;
|
|
|
build_time_t max_build_time = 0;
|
|
@@ -619,7 +625,7 @@ circuit_build_times_min(circuit_build_times_t *cbt)
|
|
|
* The return value must be freed by the caller.
|
|
|
*/
|
|
|
static uint32_t *
|
|
|
-circuit_build_times_create_histogram(circuit_build_times_t *cbt,
|
|
|
+circuit_build_times_create_histogram(const circuit_build_times_t *cbt,
|
|
|
build_time_t *nbins)
|
|
|
{
|
|
|
uint32_t *histogram;
|
|
@@ -709,7 +715,7 @@ circuit_build_times_get_xm(circuit_build_times_t *cbt)
|
|
|
* the or_state_t state structure.
|
|
|
*/
|
|
|
void
|
|
|
-circuit_build_times_update_state(circuit_build_times_t *cbt,
|
|
|
+circuit_build_times_update_state(const circuit_build_times_t *cbt,
|
|
|
or_state_t *state)
|
|
|
{
|
|
|
uint32_t *histogram;
|
|
@@ -1146,7 +1152,7 @@ circuit_build_times_initial_alpha(circuit_build_times_t *cbt,
|
|
|
* Returns true if we need circuits to be built
|
|
|
*/
|
|
|
int
|
|
|
-circuit_build_times_needs_circuits(circuit_build_times_t *cbt)
|
|
|
+circuit_build_times_needs_circuits(const circuit_build_times_t *cbt)
|
|
|
{
|
|
|
/* Return true if < MIN_CIRCUITS_TO_OBSERVE */
|
|
|
return !circuit_build_times_enough_to_compute(cbt);
|
|
@@ -1157,7 +1163,7 @@ circuit_build_times_needs_circuits(circuit_build_times_t *cbt)
|
|
|
* right now.
|
|
|
*/
|
|
|
int
|
|
|
-circuit_build_times_needs_circuits_now(circuit_build_times_t *cbt)
|
|
|
+circuit_build_times_needs_circuits_now(const circuit_build_times_t *cbt)
|
|
|
{
|
|
|
return circuit_build_times_needs_circuits(cbt) &&
|
|
|
approx_time()-cbt->last_circ_at > circuit_build_times_test_frequency();
|
|
@@ -1290,7 +1296,7 @@ circuit_build_times_network_close(circuit_build_times_t *cbt,
|
|
|
* in the case of recent liveness changes.
|
|
|
*/
|
|
|
int
|
|
|
-circuit_build_times_network_check_live(circuit_build_times_t *cbt)
|
|
|
+circuit_build_times_network_check_live(const circuit_build_times_t *cbt)
|
|
|
{
|
|
|
if (cbt->liveness.nonlive_timeouts > 0) {
|
|
|
return 0;
|