mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
Check bandwidth changes only if small uptime
to upload a new descriptor.
This commit is contained in:
parent
c380562aed
commit
7d70f67dea
@ -2425,13 +2425,24 @@ mark_my_descriptor_dirty(const char *reason)
|
|||||||
* if our previous bandwidth estimate was exactly 0. */
|
* if our previous bandwidth estimate was exactly 0. */
|
||||||
#define MAX_BANDWIDTH_CHANGE_FREQ (3*60*60)
|
#define MAX_BANDWIDTH_CHANGE_FREQ (3*60*60)
|
||||||
|
|
||||||
|
/** Maximum uptime to republish our descriptor because of large shifts in
|
||||||
|
* estimated bandwidth. */
|
||||||
|
#define MAX_UPTIME_BANDWIDTH_CHANGE (24*60*60)
|
||||||
|
|
||||||
/** Check whether bandwidth has changed a lot since the last time we announced
|
/** Check whether bandwidth has changed a lot since the last time we announced
|
||||||
* bandwidth. If so, mark our descriptor dirty. */
|
* bandwidth while the uptime is smaller than MAX_UPTIME_BANDWIDTH_CHANGE.
|
||||||
|
* If so, mark our descriptor dirty. */
|
||||||
void
|
void
|
||||||
check_descriptor_bandwidth_changed(time_t now)
|
check_descriptor_bandwidth_changed(time_t now)
|
||||||
{
|
{
|
||||||
static time_t last_changed = 0;
|
static time_t last_changed = 0;
|
||||||
uint64_t prev, cur;
|
uint64_t prev, cur;
|
||||||
|
|
||||||
|
/* If the relay uptime is bigger than MAX_UPTIME_BANDWIDTH_CHANGE,
|
||||||
|
* the next regularly scheduled descriptor update (18h) will be enough */
|
||||||
|
if (get_uptime() > MAX_UPTIME_BANDWIDTH_CHANGE)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!router_get_my_routerinfo())
|
if (!router_get_my_routerinfo())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user