r15915@catbus: nickm | 2007-10-18 10:26:44 -0400

Stop incessant notices about when we think the expected valid-after time should be, if we are not an authority.


svn:r12022
This commit is contained in:
Nick Mathewson 2007-10-18 14:27:42 +00:00
parent 959c4963b2
commit 192e3d71d4
4 changed files with 16 additions and 9 deletions

View File

@ -1061,12 +1061,17 @@ static struct {
/** Set voting_schedule to hold the timing for the next vote we should be
* doing. */
void
dirvote_recalculate_timing(time_t now)
dirvote_recalculate_timing(or_options_t *options, time_t now)
{
int interval, vote_delay, dist_delay;
time_t start;
time_t end;
networkstatus_vote_t *consensus = networkstatus_get_live_consensus(now);
networkstatus_vote_t *consensus;
if (!authdir_mode_v3(options))
return;
consensus = networkstatus_get_live_consensus(now);
memset(&voting_schedule, 0, sizeof(voting_schedule));
@ -1106,8 +1111,10 @@ dirvote_recalculate_timing(time_t now)
/** Entry point: Take whatever voting actions are pending as of <b>now</b>. */
void
dirvote_act(time_t now)
dirvote_act(or_options_t *options, time_t now)
{
if (!authdir_mode_v3(options))
return;
if (!voting_schedule.voting_starts) {
char *keys = list_v3_auth_ids();
authority_cert_t *c = get_my_v3_authority_cert();
@ -1115,7 +1122,7 @@ dirvote_act(time_t now)
"Mine is %s.",
keys, hex_str(c->cache_info.identity_digest, DIGEST_LEN));
tor_free(keys);
dirvote_recalculate_timing(now);
dirvote_recalculate_timing(options, now);
}
if (voting_schedule.voting_starts < now && !voting_schedule.have_voted) {
log_notice(LD_DIR, "Time to vote.");
@ -1150,7 +1157,7 @@ dirvote_act(time_t now)
voting_schedule.have_published_consensus = 1;
/* XXXX020 we will want to try again later if we haven't got enough
* signatures yet. */
dirvote_recalculate_timing(now);
dirvote_recalculate_timing(options, now);
}
}

View File

@ -1006,7 +1006,7 @@ run_scheduled_events(time_t now)
/** 2c. Let directory voting happen. */
if (authdir_mode_v3(options))
dirvote_act(now);
dirvote_act(options, now);
/** 3a. Every second, we examine pending circuits and prune the
* ones which have been pending for more than a few seconds.

View File

@ -984,7 +984,7 @@ networkstatus_set_current_consensus(const char *consensus, int from_cache,
current_consensus = c;
update_consensus_networkstatus_fetch_time(now);
dirvote_recalculate_timing(now);
dirvote_recalculate_timing(get_options(), now);
routerstatus_list_update_named_server_map();
if (!from_cache) {

View File

@ -2932,8 +2932,8 @@ typedef struct vote_timing_t {
/* vote scheduling */
void dirvote_get_preferred_voting_intervals(vote_timing_t *timing_out);
time_t dirvote_get_start_of_next_interval(time_t now, int interval);
void dirvote_recalculate_timing(time_t now);
void dirvote_act(time_t now);
void dirvote_recalculate_timing(or_options_t *options, time_t now);
void dirvote_act(or_options_t *options, time_t now);
/* invoked on timers and by outside triggers. */
struct pending_vote_t * dirvote_add_vote(const char *vote_body,