Introduce useful SRV funcs (start time of prev protocol run)

This commit is contained in:
George Kadianakis 2018-06-14 15:25:43 +03:00 committed by Nick Mathewson
parent 34a5eb5904
commit deec6913c5
2 changed files with 14 additions and 0 deletions

View File

@ -243,6 +243,19 @@ sr_state_get_start_time_of_current_protocol_run(time_t now)
return beginning_of_current_round - time_elapsed_since_start_of_run; return beginning_of_current_round - time_elapsed_since_start_of_run;
} }
/** Return the start time of the previous SR protocol run. See
* sr_state_get_start_time_of_current_protocol_run() for more details. */
time_t
sr_state_get_start_time_of_previous_protocol_run(time_t now)
{
time_t start_time_of_current_run =
sr_state_get_start_time_of_current_protocol_run(now);
/* We get the start time of previous protocol run, by getting the start time
* of current run and the subtracting a full protocol run from that. */
return start_time_of_current_run - sr_state_get_protocol_run_duration();
}
/** Return the time (in seconds) it takes to complete a full SR protocol phase /** Return the time (in seconds) it takes to complete a full SR protocol phase
* (e.g. the commit phase). */ * (e.g. the commit phase). */
unsigned int unsigned int

View File

@ -35,6 +35,7 @@ sr_srv_t *sr_parse_srv(const smartlist_t *args);
#define SHARED_RANDOM_N_PHASES 2 #define SHARED_RANDOM_N_PHASES 2
time_t sr_state_get_start_time_of_current_protocol_run(time_t now); time_t sr_state_get_start_time_of_current_protocol_run(time_t now);
time_t sr_state_get_start_time_of_previous_protocol_run(time_t now);
unsigned int sr_state_get_phase_duration(void); unsigned int sr_state_get_phase_duration(void);
unsigned int sr_state_get_protocol_run_duration(void); unsigned int sr_state_get_protocol_run_duration(void);
time_t get_start_time_of_current_round(void); time_t get_start_time_of_current_round(void);