tor  master
Macros | Functions | Variables
voting_schedule.c File Reference

This file contains functions that are from the directory authority subsystem related to voting specifically but used by many part of tor. The full feature is built as part of the dirauth module. More...

#include "voting_schedule.h"
#include "or.h"
#include "config.h"
#include "networkstatus.h"
Include dependency graph for voting_schedule.c:

Macros

#define VOTING_SCHEDULE_PRIVATE
 
#define voting_schedule_free(s)   FREE_AND_NULL(voting_schedule_t, voting_schedule_free_, (s))
 

Functions

time_t voting_schedule_get_start_of_next_interval (time_t now, int interval, int offset)
 
time_t voting_schedule_get_next_valid_after_time (void)
 
void voting_schedule_recalculate_timing (const or_options_t *options, time_t now)
 

Variables

voting_schedule_t voting_schedule
 

Detailed Description

This file contains functions that are from the directory authority subsystem related to voting specifically but used by many part of tor. The full feature is built as part of the dirauth module.

Function Documentation

◆ voting_schedule_get_start_of_next_interval()

time_t voting_schedule_get_start_of_next_interval ( time_t  now,
int  interval,
int  offset 
)

Return the start of the next interval of size interval (in seconds) after now, plus offset. Midnight always starts a fresh interval, and if the last interval of a day would be truncated to less than half its size, it is rolled into the previous interval.

Here is the call graph for this function:

◆ voting_schedule_recalculate_timing()

void voting_schedule_recalculate_timing ( const or_options_t options,
time_t  now 
)

Set voting_schedule to hold the timing for the next vote we should be doing. All type of tor do that because HS subsystem needs the timing as well to function properly.