Simplify the logic of circuit_build_times_get_initial_timeout.

This commit is contained in:
Nick Mathewson 2013-03-13 09:11:31 -04:00
parent d13b996d83
commit 7543fb61e3

View File

@ -540,23 +540,16 @@ circuit_build_times_get_initial_timeout(void)
* Check if we have LearnCircuitBuildTimeout, and if we don't,
* always use CircuitBuildTimeout, no questions asked.
*/
/*XXXX025 this logic could be cleaned up a lot. */
if (get_options()->LearnCircuitBuildTimeout) {
if (!unit_tests && get_options()->CircuitBuildTimeout) {
timeout = get_options()->CircuitBuildTimeout*1000;
if (timeout < circuit_build_times_min_timeout()) {
log_warn(LD_CIRC, "Config CircuitBuildTimeout too low. Setting to %ds",
circuit_build_times_min_timeout()/1000);
timeout = circuit_build_times_min_timeout();
}
} else {
timeout = circuit_build_times_initial_timeout();
if (!unit_tests && get_options()->CircuitBuildTimeout) {
timeout = get_options()->CircuitBuildTimeout*1000;
if (get_options()->LearnCircuitBuildTimeout &&
timeout < circuit_build_times_min_timeout()) {
log_warn(LD_CIRC, "Config CircuitBuildTimeout too low. Setting to %ds",
circuit_build_times_min_timeout()/1000);
timeout = circuit_build_times_min_timeout();
}
} else {
if (get_options()->CircuitBuildTimeout > 0)
timeout = get_options()->CircuitBuildTimeout*1000;
else
timeout = circuit_build_times_initial_timeout();
timeout = circuit_build_times_initial_timeout();
}
return timeout;