summaryrefslogtreecommitdiff
path: root/src/or/circuituse.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-10-26 13:30:23 -0400
committerNick Mathewson <nickm@torproject.org>2016-10-26 13:30:23 -0400
commit8a38d053a09615c8d9009571ba639bfcbd1d4fe2 (patch)
tree9d3168a96bec49971d79d5eb5ed423e132cc192a /src/or/circuituse.c
parent9c8dbcd0d676e9092da75c7bdae75679c9d753e3 (diff)
downloadtor-8a38d053a09615c8d9009571ba639bfcbd1d4fe2.tar.gz
tor-8a38d053a09615c8d9009571ba639bfcbd1d4fe2.zip
Continue the module documentation effort with circuitbuild and circuituse
Diffstat (limited to 'src/or/circuituse.c')
-rw-r--r--src/or/circuituse.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index f344703331..166971c30c 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -6,7 +6,25 @@
/**
* \file circuituse.c
- * \brief Launch the right sort of circuits and attach streams to them.
+ * \brief Launch the right sort of circuits and attach the right streams to
+ * them.
+ *
+ * As distinct from circuitlist.c, which manages lookups to find circuits, and
+ * circuitbuild.c, which handles the logistics of circuit construction, this
+ * module keeps track of which streams can be attached to which circuits (in
+ * circuit_get_best()), and attaches streams to circuits (with
+ * circuit_try_attaching_streams(), connection_ap_handshake_attach_circuit(),
+ * and connection_ap_handshake_attach_chosen_circuit().
+ *
+ * This module also makes sure that we are building circuits for all of the
+ * predicted ports, using circuit_remove_handled_ports(),
+ * circuit_stream_is_being_handled(), and circuit_build_needed_cirs(). It
+ * handles launching circuits for specific targets using
+ * circuit_launch_by_extend_info().
+ *
+ * This is also where we handle expiring circuits that have been around for
+ * too long without actually completing, along with the circuit_build_timeout
+ * logic in circuitstats.c.
**/
#include "or.h"