Provide consensus params to constrain the threshold for Fast

resolves ticket 3946
This commit is contained in:
Nick Mathewson 2012-01-13 12:05:08 -05:00
parent 1810db9bb3
commit 125fba2e99
2 changed files with 20 additions and 0 deletions

8
changes/fast_bw_param Normal file
View File

@ -0,0 +1,8 @@
o Minor features (directory authority):
- Provide two consensus parameters (FastFlagMinThreshold and
FastFlagMaxThreshold) to control the range of allowable bandwidths for
the Fast directory flag. This allows authorities to run better
experiments on appropriate requirements for being a "Fast" node.
The AuthDirFastGuarantee flag still applies.

View File

@ -1938,6 +1938,18 @@ dirserv_compute_performance_thresholds(routerlist_t *rl)
if (guard_tk > TIME_KNOWN_TO_GUARANTEE_FAMILIAR)
guard_tk = TIME_KNOWN_TO_GUARANTEE_FAMILIAR;
{
/* We can vote on a parameter for the minimum and maximum. */
int32_t min_fast, max_fast;
min_fast = networkstatus_get_param(NULL, "FastFlagMinThreshold",
0, 0, INT32_MAX);
max_fast = networkstatus_get_param(NULL, "FastFlagMaxThreshold",
INT32_MAX, min_fast, INT32_MAX);
if (fast_bandwidth < (uint32_t)min_fast)
fast_bandwidth = min_fast;
if (fast_bandwidth > (uint32_t)max_fast)
fast_bandwidth = max_fast;
}
/* Protect sufficiently fast nodes from being pushed out of the set
* of Fast nodes. */
if (options->AuthDirFastGuarantee &&