#ifndef TOR_VOTING_SCHEDULE_H
#define TOR_VOTING_SCHEDULE_H
#include "core/or/or.h"
typedef struct {
time_t voting_starts;
time_t fetch_missing_votes;
time_t voting_ends;
time_t fetch_missing_signatures;
time_t interval_starts;
int have_voted;
int have_fetched_missing_votes;
int have_built_consensus;
int have_fetched_missing_signatures;
int have_published_consensus;
int created_on_demand;
time_t live_consensus_valid_after;
} voting_schedule_t;
extern voting_schedule_t voting_schedule;
void voting_schedule_recalculate_timing(const or_options_t *options,
time_t now);
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);
#endif