Преглед на файлове

Bug1789 cleanups suggested by arma

The significant one is that we look at RelayBandwidthRate if it is set.
Nick Mathewson преди 13 години
родител
ревизия
9cba61eb8c
променени са 2 файла, в които са добавени 10 реда и са изтрити 7 реда
  1. 4 4
      changes/bug1789
  2. 6 3
      src/or/hibernate.c

+ 4 - 4
changes/bug1789

@@ -1,10 +1,10 @@
   o Minor features:
     - Be more generous with how much bandwidth we'd use up (with
       accounting enabled) before entering "soft hibernation".
-      Previously, we'd hibernate once we'd used up 95% of our allotment.
-      Now, we use up 95% of our allotment, AND make sure that we have
-      no more than 500MB/3 hours of traffic remaining before we enter
-      soft hibernation.
+      Previously, we'd hibernate once we'd used up 95% of our
+      allotment.  Now, we use up 95% of our allotment, AND make sure
+      that we have no more than 500MB (or 3 hours of expected traffic,
+      whichever is lower) remaining before we enter soft hibernation.
 
   o Minor bugfixes:
     - For bandwidth accounting, calculate our expected bandwidth rate

+ 6 - 3
src/or/hibernate.c

@@ -382,7 +382,10 @@ static void
 update_expected_bandwidth(void)
 {
   uint64_t expected;
-  uint64_t max_configured = (get_options()->BandwidthRate * 60);
+  or_options_t *options= get_options();
+  uint64_t max_configured = (options->RelayBandwidthRate > 0 ?
+                             options->RelayBandwidthRate :
+                             options->BandwidthRate) * 60;
 
 #define MIN_TIME_FOR_MEASUREMENT (1800)
 
@@ -628,7 +631,7 @@ read_bandwidth_usage(void)
   interval_start_time = state->AccountingIntervalStart;
   expected_bandwidth_usage = state->AccountingExpectedUsage;
 
-  /* Older versions of Tor (before 0.2.2.16-alpha) didn't generate these
+  /* Older versions of Tor (before 0.2.2.17-alpha or so) didn't generate these
    * fields. If you switch back and forth, you might get an
    * AccountingSoftLimitHitAt value from long before the most recent
    * interval_start_time.  If that's so, then ignore the softlimit-related
@@ -732,7 +735,7 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
     soft_limit_hit_at = now;
     n_seconds_to_hit_soft_limit = n_seconds_active_in_interval;
     n_bytes_at_soft_limit = MAX(n_bytes_read_in_interval,
-                               n_bytes_written_in_interval);
+                                n_bytes_written_in_interval);
   }
 
   /* close listeners. leave control listener(s). */