[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] [tor/master 6/6] Bug1789 cleanups suggested by arma



Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date: Tue, 21 Sep 2010 14:02:04 -0400
Subject: Bug1789 cleanups suggested by arma
Commit: 9cba61eb8c76480316fb149b1a90ef3abb6818fb

The significant one is that we look at RelayBandwidthRate if it is set.
---
 changes/bug1789    |    8 ++++----
 src/or/hibernate.c |    9 ++++++---
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/changes/bug1789 b/changes/bug1789
index 7090ea8..9292aa9 100644
--- a/changes/bug1789
+++ b/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
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index 25c81de..d0d0979 100644
--- a/src/or/hibernate.c
+++ b/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). */
-- 
1.7.1