tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit deec6913c5a30a568fd761c707867e2001646237
parent 34a5eb5904896cfbfb8c2729fe3b029fab6deb39
Author: George Kadianakis <desnacked@riseup.net>
Date:   Thu, 14 Jun 2018 15:25:43 +0300

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

Diffstat:
Msrc/or/shared_random_client.c | 13+++++++++++++
Msrc/or/shared_random_client.h | 1+
2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/or/shared_random_client.c b/src/or/shared_random_client.c @@ -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 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 * (e.g. the commit phase). */ unsigned int diff --git a/src/or/shared_random_client.h b/src/or/shared_random_client.h @@ -35,6 +35,7 @@ sr_srv_t *sr_parse_srv(const smartlist_t *args); #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_previous_protocol_run(time_t now); unsigned int sr_state_get_phase_duration(void); unsigned int sr_state_get_protocol_run_duration(void); time_t get_start_time_of_current_round(void);