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
This commit is contained in:
Roger Dingledine 2006-12-15 21:39:35 +00:00
parent f53a269928
commit ce51a1d349
3 changed files with 10 additions and 10 deletions

View File

@ -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:

View File

@ -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

View File

@ -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;