|
@@ -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 {
|