summaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2011-04-26 22:18:01 -0400
committerNick Mathewson <nickm@torproject.org>2011-04-27 00:01:41 -0400
commitf7a5bc16d689e8b919285c66cd0f07a6694bcc69 (patch)
treecdb1a354b356c2d0c2f225c5ed30ed1ca82f0d36 /src/or/or.h
parentf962dda8c188ebe17be1ad7d6548f303b6425943 (diff)
downloadtor-f7a5bc16d689e8b919285c66cd0f07a6694bcc69.tar.gz
tor-f7a5bc16d689e8b919285c66cd0f07a6694bcc69.zip
warn if we launch too many circuits for a given stream
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index 50a1223f3c..7d354c8fe1 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -1151,6 +1151,13 @@ typedef struct edge_connection_t {
* already retried several times. */
uint8_t num_socks_retries;
+#define NUM_CIRCUITS_LAUNCHED_THRESHOLD 10
+ /** Number of times we've launched a circuit to handle this stream. If
+ * it gets too high, that could indicate an inconsistency between our
+ * "launch a circuit to handle this stream" logic and our "attach our
+ * stream to one of the available circuits" logic. */
+ unsigned int num_circuits_launched:4;
+
/** True iff this connection is for a DNS request only. */
unsigned int is_dns_request:1;