aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-06-22 15:29:30 -0400
committerNick Mathewson <nickm@torproject.org>2011-07-11 16:13:17 -0400
commit734d9486f62b0fb19c71cac7a484ae65091bd41d (patch)
tree1b42bcc91ce3062fb0e4f6c0d3c4a94fea4c8077 /src/or/connection_or.h
parent0fd8ce15c2d970368d1ccf5f77a4e407a008a76d (diff)
downloadtor-734d9486f62b0fb19c71cac7a484ae65091bd41d.tar
tor-734d9486f62b0fb19c71cac7a484ae65091bd41d.tar.gz
Record the states of failing OR connections
This code lets us record the state of any outgoing OR connection that fails before it becomes open, so we can notice if they're all dying in the same SSL state or the same OR handshake state. More work is still needed: - We need documentation - We need to actually call the code that reports the failure when we realize that we're having a hard time connecting out or making circuits. - We need to periodically clear out all this data -- perhaps, whenever we build a circuit successfully? - We'll eventually want to expose it to controllers, perhaps. Partial implementation of feature 3116.
Diffstat (limited to 'src/or/connection_or.h')
-rw-r--r--src/or/connection_or.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/connection_or.h b/src/or/connection_or.h
index f1acfd187..abcfe83b9 100644
--- a/src/or/connection_or.h
+++ b/src/or/connection_or.h
@@ -14,6 +14,7 @@
void connection_or_remove_from_identity_map(or_connection_t *conn);
void connection_or_clear_identity_map(void);
+void clear_broken_connection_map(void);
or_connection_t *connection_or_get_for_extend(const char *digest,
const tor_addr_t *target_addr,
const char **msg_out,
@@ -35,6 +36,8 @@ void connection_or_connect_failed(or_connection_t *conn,
or_connection_t *connection_or_connect(const tor_addr_t *addr, uint16_t port,
const char *id_digest);
+void connection_or_report_broken_states(int severity, int domain);
+
int connection_tls_start_handshake(or_connection_t *conn, int receiving);
int connection_tls_continue_handshake(or_connection_t *conn);