mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 20:33:31 +01:00
Add dirserv_has_measured_bw() predicate wrapper for dirserv_query_measured_bw_cache()
This commit is contained in:
parent
f93f7e331b
commit
d64e5969f4
@ -1886,8 +1886,7 @@ router_counts_toward_thresholds(const node_t *node, time_t now,
|
||||
{
|
||||
/* Have measured bw? */
|
||||
int have_mbw =
|
||||
dirserv_query_measured_bw_cache(node->ri->cache_info.identity_digest,
|
||||
NULL, NULL);
|
||||
dirserv_has_measured_bw(node->ri->cache_info.identity_digest);
|
||||
|
||||
return node->ri && router_is_active(node->ri, node, now) &&
|
||||
!digestmap_get(omit_as_sybil, node->ri->cache_info.identity_digest) &&
|
||||
@ -2166,6 +2165,13 @@ dirserv_query_measured_bw_cache(const char *node_id, long *bw_out,
|
||||
return rv;
|
||||
}
|
||||
|
||||
/** Predicate wrapper for dirserv_query_measured_bw_cache() */
|
||||
int
|
||||
dirserv_has_measured_bw(const char *node_id)
|
||||
{
|
||||
return dirserv_query_measured_bw_cache(node_id, NULL, NULL);
|
||||
}
|
||||
|
||||
/** Get the best estimate of a router's bandwidth for dirauth purposes,
|
||||
* preferring measured to advertised values if available. */
|
||||
|
||||
@ -2214,8 +2220,7 @@ dirserv_count_measured_bws(routerlist_t *rl)
|
||||
/* Iterate over the routerlist and count measured bandwidths */
|
||||
SMARTLIST_FOREACH_BEGIN(rl->routers, routerinfo_t *, ri) {
|
||||
/* Check if we know a measured bandwidth for this one */
|
||||
if (dirserv_query_measured_bw_cache(ri->cache_info.identity_digest,
|
||||
NULL, NULL)) {
|
||||
if (dirserv_has_measured_bw(ri->cache_info.identity_digest)) {
|
||||
++routers_with_measured_bw;
|
||||
}
|
||||
} SMARTLIST_FOREACH_END(ri);
|
||||
|
@ -154,6 +154,7 @@ void dirserv_expire_measured_bw_cache(time_t now);
|
||||
int dirserv_get_measured_bw_cache_size(void);
|
||||
int dirserv_query_measured_bw_cache(const char *node_id, long *bw_out,
|
||||
time_t *as_of_out);
|
||||
int dirserv_has_measured_bw(const char *node_id);
|
||||
#endif
|
||||
|
||||
int dirserv_read_measured_bandwidths(const char *from_file,
|
||||
|
Loading…
Reference in New Issue
Block a user