diff options
author | Nick Mathewson <nickm@torproject.org> | 2014-09-23 12:34:17 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2014-09-23 12:34:51 -0400 |
commit | 02464694b2fa901e04b8a8f1c467a0773e6d4c27 (patch) | |
tree | 91c6bbe40a34a9d0503a28dc25da92001f1abfc3 /src/or/routerlist.c | |
parent | 06bda506003826bf9a28aec3afe0b7b1ae6cc9c0 (diff) | |
download | tor-02464694b2fa901e04b8a8f1c467a0773e6d4c27.tar.gz tor-02464694b2fa901e04b8a8f1c467a0773e6d4c27.zip |
fixup! Send more descriptor requests per attempt when using tunneled connections
Compilation fixes
Diffstat (limited to 'src/or/routerlist.c')
-rw-r--r-- | src/or/routerlist.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c index ff2f54de87..e0cb5174c3 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -4355,7 +4355,7 @@ MOCK_IMPL(STATIC void, initiate_descriptor_downloads, * 4058/41 (40 for the hash and 1 for the + that separates them) => 98 * So use 96 because it's a nice number. */ -int +static int max_dl_per_request(const or_options_t *options, int purpose) { int max = 96; @@ -4389,11 +4389,15 @@ launch_descriptor_downloads(int purpose, const or_options_t *options = get_options(); const char *descname; const int fetch_microdesc = (purpose == DIR_PURPOSE_FETCH_MICRODESC); + int n_downloadable = smartlist_len(downloadable); + + int i, n_per_request, max_dl_per_req; + const char *req_plural = "", *rtr_plural = ""; + int pds_flags = PDS_RETRY_IF_NO_SERVERS; tor_assert(fetch_microdesc || purpose == DIR_PURPOSE_FETCH_SERVERDESC); descname = fetch_microdesc ? "microdesc" : "routerdesc"; - int n_downloadable = smartlist_len(downloadable); if (!n_downloadable) return; @@ -4425,9 +4429,6 @@ launch_descriptor_downloads(int purpose, } } - int i, n_per_request, max_dl_per_req; - const char *req_plural = "", *rtr_plural = ""; - int pds_flags = PDS_RETRY_IF_NO_SERVERS; if (!authdir_mode_any_nonhidserv(options) || fetch_microdesc) { /* If we wind up going to the authorities, we want to only open one * connection to each authority at a time, so that we don't overload @@ -4648,7 +4649,7 @@ update_extrainfo_downloads(time_t now) routerlist_t *rl; smartlist_t *wanted; digestmap_t *pending; - int old_routers, i; + int old_routers, i, max_dl_per_req; int n_no_ei = 0, n_pending = 0, n_have = 0, n_delay = 0; if (! options->DownloadExtraInfo) return; @@ -4704,7 +4705,8 @@ update_extrainfo_downloads(time_t now) n_no_ei, n_have, n_delay, n_pending, smartlist_len(wanted)); smartlist_shuffle(wanted); - int max_dl_per_req = max_dl_per_request(options, DIR_PURPOSE_FETCH_EXTRAINFO); + + max_dl_per_req = max_dl_per_request(options, DIR_PURPOSE_FETCH_EXTRAINFO); for (i = 0; i < smartlist_len(wanted); i += max_dl_per_req) { initiate_descriptor_downloads(NULL, DIR_PURPOSE_FETCH_EXTRAINFO, wanted, i, i+max_dl_per_req, |