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 * at which point we switch back to computing the timeout from
* our saved history. * 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. * 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 * If instead we start getting cells, we switch back to computing the timeout
* from our saved history. * from our saved history.
*/ */
#define NETWORK_NONLIVE_DISCARD_COUNT \ #define NETWORK_NONLIVE_DISCARD_COUNT (NETWORK_NONLIVE_TIMEOUT_COUNT*2)
(tor_lround(NETWORK_NONLIVE_TIMEOUT_COUNT*2))
/** /**
* Maximum count of timeouts that finish the first hop in the past * 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 * This tells us to abandon timeout history and set
* the timeout back to BUILD_TIMEOUT_INITIAL_VALUE. * 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 */ /** Information about the state of our local network connection */
typedef struct { typedef struct {