Don't delay descriptor fetches when missing info needed for circuits

When we have fewer than 15 descriptors to fetch, we will delay the
fetch for a little while.  That's fine, if we can go ahead and build
circuits... but if not, it's a poor choice indeed.

Fixes bug 23985; bugfix on 0.1.1.11-alpha.

In 0.3.0.3-alpha, when we made primary guard descriptors necessary
for circuit building, this situation got worse.
This commit is contained in:
Nick Mathewson
2017-11-08 13:22:16 -05:00
parent 04d4786cc4
commit 0dc55fb247
2 changed files with 14 additions and 0 deletions
+5
View File
@@ -5035,6 +5035,11 @@ launch_descriptor_downloads(int purpose,
log_debug(LD_DIR,
"There are enough downloadable %ss to launch requests.",
descname);
} else if (! router_have_minimum_dir_info()) {
log_debug(LD_DIR,
"We are only missing %d %ss, but we'll fetch anyway, since "
"we don't yet have enough directory info.",
n_downloadable, descname);
} else {
/* should delay */