mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
Simplify a few functions that dont need to call get_latest_consensus() so much
This commit is contained in:
parent
266d7733f8
commit
cff1274b06
@ -122,10 +122,8 @@ static void update_consensus_bootstrap_multiple_downloads(
|
|||||||
void
|
void
|
||||||
networkstatus_reset_warnings(void)
|
networkstatus_reset_warnings(void)
|
||||||
{
|
{
|
||||||
if (networkstatus_get_latest_consensus()) {
|
|
||||||
SMARTLIST_FOREACH(nodelist_get_list(), node_t *, node,
|
SMARTLIST_FOREACH(nodelist_get_list(), node_t *, node,
|
||||||
node->name_lookup_warned = 0);
|
node->name_lookup_warned = 0);
|
||||||
}
|
|
||||||
|
|
||||||
have_warned_about_old_version = 0;
|
have_warned_about_old_version = 0;
|
||||||
have_warned_about_new_version = 0;
|
have_warned_about_new_version = 0;
|
||||||
@ -720,10 +718,10 @@ router_get_dl_status_by_descriptor_digest,(const char *d))
|
|||||||
routerstatus_t *
|
routerstatus_t *
|
||||||
router_get_mutable_consensus_status_by_id(const char *digest)
|
router_get_mutable_consensus_status_by_id(const char *digest)
|
||||||
{
|
{
|
||||||
if (!networkstatus_get_latest_consensus())
|
const networkstatus_t *ns = networkstatus_get_latest_consensus();
|
||||||
|
if (!ns)
|
||||||
return NULL;
|
return NULL;
|
||||||
const smartlist_t *rslist;
|
smartlist_t *rslist = ns->routerstatus_list;
|
||||||
rslist = networkstatus_get_latest_consensus()->routerstatus_list;
|
|
||||||
return smartlist_bsearch(rslist, digest,
|
return smartlist_bsearch(rslist, digest,
|
||||||
compare_digest_to_routerstatus_entry);
|
compare_digest_to_routerstatus_entry);
|
||||||
}
|
}
|
||||||
@ -1788,7 +1786,7 @@ networkstatus_set_current_consensus(const char *consensus,
|
|||||||
/* Update ewma and adjust policy if needed; first cache the old value */
|
/* Update ewma and adjust policy if needed; first cache the old value */
|
||||||
old_ewma_enabled = cell_ewma_enabled();
|
old_ewma_enabled = cell_ewma_enabled();
|
||||||
/* Change the cell EWMA settings */
|
/* Change the cell EWMA settings */
|
||||||
cell_ewma_set_scale_factor(options, networkstatus_get_latest_consensus());
|
cell_ewma_set_scale_factor(options, c);
|
||||||
/* If we just enabled ewma, set the cmux policy on all active channels */
|
/* If we just enabled ewma, set the cmux policy on all active channels */
|
||||||
if (cell_ewma_enabled() && !old_ewma_enabled) {
|
if (cell_ewma_enabled() && !old_ewma_enabled) {
|
||||||
channel_set_cmux_policy_everywhere(&ewma_policy);
|
channel_set_cmux_policy_everywhere(&ewma_policy);
|
||||||
@ -1801,8 +1799,8 @@ networkstatus_set_current_consensus(const char *consensus,
|
|||||||
* current consensus really alter our view of any OR's rate limits? */
|
* current consensus really alter our view of any OR's rate limits? */
|
||||||
connection_or_update_token_buckets(get_connection_array(), options);
|
connection_or_update_token_buckets(get_connection_array(), options);
|
||||||
|
|
||||||
circuit_build_times_new_consensus_params(get_circuit_build_times_mutable(),
|
circuit_build_times_new_consensus_params(
|
||||||
networkstatus_get_latest_consensus());
|
get_circuit_build_times_mutable(), c);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset the failure count only if this consensus is actually valid. */
|
/* Reset the failure count only if this consensus is actually valid. */
|
||||||
@ -1952,17 +1950,16 @@ routers_update_all_from_networkstatus(time_t now, int dir_version)
|
|||||||
static void
|
static void
|
||||||
routerstatus_list_update_named_server_map(void)
|
routerstatus_list_update_named_server_map(void)
|
||||||
{
|
{
|
||||||
if (!networkstatus_get_latest_consensus())
|
networkstatus_t *ns = networkstatus_get_latest_consensus();
|
||||||
|
if (!ns)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
strmap_free(named_server_map, tor_free_);
|
strmap_free(named_server_map, tor_free_);
|
||||||
named_server_map = strmap_new();
|
named_server_map = strmap_new();
|
||||||
strmap_free(unnamed_server_map, NULL);
|
strmap_free(unnamed_server_map, NULL);
|
||||||
unnamed_server_map = strmap_new();
|
unnamed_server_map = strmap_new();
|
||||||
const smartlist_t *rslist;
|
smartlist_t *rslist = ns->routerstatus_list;
|
||||||
rslist = networkstatus_get_latest_consensus()->routerstatus_list;
|
SMARTLIST_FOREACH_BEGIN(rslist, const routerstatus_t *, rs) {
|
||||||
SMARTLIST_FOREACH_BEGIN(rslist,
|
|
||||||
const routerstatus_t *, rs) {
|
|
||||||
if (rs->is_named) {
|
if (rs->is_named) {
|
||||||
strmap_set_lc(named_server_map, rs->nickname,
|
strmap_set_lc(named_server_map, rs->nickname,
|
||||||
tor_memdup(rs->identity_digest, DIGEST_LEN));
|
tor_memdup(rs->identity_digest, DIGEST_LEN));
|
||||||
|
Loading…
Reference in New Issue
Block a user