]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Add a few more paragraphs to path-spec.txt
authorNick Mathewson <nickm@torproject.org>
Thu, 20 Jul 2006 16:48:02 +0000 (16:48 +0000)
committerNick Mathewson <nickm@torproject.org>
Thu, 20 Jul 2006 16:48:02 +0000 (16:48 +0000)
svn:r6793

doc/path-spec.txt

index 50dc519add40bb666fedc11ef4e2c2eaa725f233..381bf782cb3f60b9d8b488241a732629f21d8f9d 100644 (file)
@@ -88,8 +88,28 @@ list.  -NM
 
 2.2. Path selection
 
-   When we bui
-   
+   We choose the path for each new circuit before we build it.  We choose the
+   exit node first, followed by the other nodes in the circuit.  We do not
+   choose the same router twice for the same circuit.  We do not choose any
+   router in the same family as another in the same circuit.  We don't choose
+   any non-running or non-valid router unless we have been configured to do
+   so.  When choosing among multiple candidates for a path element, we choose
+   a given router with probability proportional to its advertised bandwidth
+   [the smaller of the 'rate' and 'observed' arguments to the "bandwidth"
+   element in its descriptor].  If a router's advertised bandwidth is greater
+   than MAX_BELIEVEABLE_BANDWIDTH (1.5 MB/sec), we clip to that value.
+
+   Additional restrictions:
+     XXX When to use Fast
+     XXX When to use Stable
+     XXX When to use Named
+
+   If we're building a circuit preemtively, we choose an exit node that might
+   support streams to one of our predicted ports; otherwise, we pick an exit
+   node that will support a pending stream (if the stream's target is known)
+   or that might support a pending stream.
+
+   We pick an entry node from one of our guards; see section 5 below.
 
 2.3. Handling failure