Stop using lround in or.h, and check for bad values of RECENT_CIRCUITS

This commit is contained in:
Nick Mathewson 2009-12-15 15:46:25 -05:00
parent 3802af8806
commit 3b896195cb

View File

@ -3002,7 +3002,7 @@ typedef uint32_t build_time_t;
* at which point we switch back to computing the timeout from
* our saved history.
*/
#define NETWORK_NONLIVE_TIMEOUT_COUNT (tor_lround(RECENT_CIRCUITS*0.15))
#define NETWORK_NONLIVE_TIMEOUT_COUNT (RECENT_CIRCUITS*3/20)
/**
* This tells us when to toss out the last streak of N timeouts.
@ -3010,8 +3010,7 @@ typedef uint32_t build_time_t;
* If instead we start getting cells, we switch back to computing the timeout
* from our saved history.
*/
#define NETWORK_NONLIVE_DISCARD_COUNT \
(tor_lround(NETWORK_NONLIVE_TIMEOUT_COUNT*2))
#define NETWORK_NONLIVE_DISCARD_COUNT (NETWORK_NONLIVE_TIMEOUT_COUNT*2)
/**
* Maximum count of timeouts that finish the first hop in the past
@ -3020,7 +3019,12 @@ typedef uint32_t build_time_t;
* This tells us to abandon timeout history and set
* the timeout back to BUILD_TIMEOUT_INITIAL_VALUE.
*/
#define MAX_RECENT_TIMEOUT_COUNT (tor_lround(RECENT_CIRCUITS*0.8))
#define MAX_RECENT_TIMEOUT_COUNT (RECENT_CIRCUITS*4/5)
#if MAX_RECENT_TIMEOUT_COUNT < 1 || NETWORK_NONLIVE_DISCARD_COUNT < 1 || \
NETWORK_NONLIVE_TIMEOUT_COUNT < 1
#error "RECENT_CIRCUITS is set too low."
#endif
/** Information about the state of our local network connection */
typedef struct {