Explorar o código

Add a boolean to flag-thresholds for "we have enough measured bandwidth"

Implements #8711.
Nick Mathewson %!s(int64=11) %!d(string=hai) anos
pai
achega
b933360ee8
Modificáronse 2 ficheiros con 13 adicións e 2 borrados
  1. 6 0
      changes/bug8711
  2. 7 2
      src/or/dirserv.c

+ 6 - 0
changes/bug8711

@@ -0,0 +1,6 @@
+  o Minor features (authority):
+    - Add a "ignoring-advertised-bws" boolean to our flag-thresholds
+      lines to describe whether we have enough measured bandwidths to
+      ignore advertised bandwidth claims. Closes ticket 8711.
+      
+    

+ 7 - 2
src/or/dirserv.c

@@ -2273,12 +2273,16 @@ char *
 dirserv_get_flag_thresholds_line(void)
 {
   char *result=NULL;
+  const int measured_threshold =
+    get_options()->MinMeasuredBWsForAuthToIgnoreAdvertised;
+  const int enough_measured_bw = routers_with_measured_bw > measured_threshold;
+
   tor_asprintf(&result,
       "stable-uptime=%lu stable-mtbf=%lu "
       "fast-speed=%lu "
       "guard-wfu=%.03f%% guard-tk=%lu "
       "guard-bw-inc-exits=%lu guard-bw-exc-exits=%lu "
-      "enough-mtbf=%d",
+      "enough-mtbf=%d ignoring-advertised-bws=%d",
       (unsigned long)stable_uptime,
       (unsigned long)stable_mtbf,
       (unsigned long)fast_bandwidth_kb*1000,
@@ -2286,7 +2290,8 @@ dirserv_get_flag_thresholds_line(void)
       (unsigned long)guard_tk,
       (unsigned long)guard_bandwidth_including_exits_kb*1000,
       (unsigned long)guard_bandwidth_excluding_exits_kb*1000,
-      enough_mtbf_info ? 1 : 0);
+      enough_mtbf_info ? 1 : 0,
+      enough_measured_bw ? 1 : 0);
 
   return result;
 }