diff options
author | Roger Dingledine <arma@torproject.org> | 2006-12-15 21:39:35 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-12-15 21:39:35 +0000 |
commit | ce51a1d349280394b940082b1a52a7aa41e0f0ec (patch) | |
tree | bc5b2263202f43f4c79e38ccc3ca341ee15f007a | |
parent | f53a269928105e9c300f764d06132257ebf080e6 (diff) | |
download | tor-ce51a1d349280394b940082b1a52a7aa41e0f0ec.tar.gz tor-ce51a1d349280394b940082b1a52a7aa41e0f0ec.zip |
a changelog for write limiting. also, disable the "advertise dirport
until we reach our max bandwidth if it's tiny" trick now that we
do the bandwidth self-test on boot.
svn:r9134
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/or/hibernate.c | 2 | ||||
-rw-r--r-- | src/or/router.c | 15 |
3 files changed, 10 insertions, 10 deletions
@@ -4,6 +4,9 @@ Changes in version 0.1.2.5-xxxx - 200?-??-?? server via TLS so we do encrypted directory requests rather than plaintext. On by default; disable via the TunnelDirConns config option if you like. + - Enable write limiting as well as read limiting. Now we sacrifice + capacity if we're pushing out lots of directory traffic, rather + than overrunning the user's intended bandwidth limits. o Minor features: - Start using the state file to store bandwidth accounting data: diff --git a/src/or/hibernate.c b/src/or/hibernate.c index 5a48138a2c..193594b63b 100644 --- a/src/or/hibernate.c +++ b/src/or/hibernate.c @@ -716,7 +716,7 @@ static int hibernate_soft_limit_reached(void) { uint64_t soft_limit = DBL_TO_U64(U64_TO_DBL(get_options()->AccountingMax) - * .95); + * .95); if (!soft_limit) return 0; return n_bytes_read_in_interval >= soft_limit diff --git a/src/or/router.c b/src/or/router.c index 0c3ccafe3d..940f462c5a 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -426,15 +426,12 @@ decide_to_advertise_dirport(or_options_t *options, routerinfo_t *router) return 0; if (!check_whether_dirport_reachable()) return 0; - if (router->bandwidthcapacity >= router->bandwidthrate) { - /* check if we might potentially hibernate. */ - if (options->AccountingMax != 0) - return 0; - /* also check if we're advertising a small amount, and have - a "boring" DirPort. */ - if (router->bandwidthrate < 50000 && router->dir_port > 1024) - return 0; - } + /* check if we might potentially hibernate. */ + if (accounting_is_enabled(options)) + return 0; + /* also check if we're advertising a small amount */ + if (router->bandwidthrate <= 51200) + return 0; /* Sounds like a great idea. Let's publish it. */ return router->dir_port; |