aboutsummaryrefslogtreecommitdiff
path: root/doc/dir-spec.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2005-09-02 20:46:44 +0000
committerNick Mathewson <nickm@torproject.org>2005-09-02 20:46:44 +0000
commit78c01a95b51e9b410637e4a776422db7d581553c (patch)
treee846f8491dbe0473568c29b736147b6b9914e0cd /doc/dir-spec.txt
parent815c092b227b06e4053c1dd20a9c3d27789b7bbb (diff)
downloadtor-78c01a95b51e9b410637e4a776422db7d581553c.tar
tor-78c01a95b51e9b410637e4a776422db7d581553c.tar.gz
Describe approach to downloading status documents; update TODO a bit
svn:r4899
Diffstat (limited to 'doc/dir-spec.txt')
-rw-r--r--doc/dir-spec.txt21
1 files changed, 20 insertions, 1 deletions
diff --git a/doc/dir-spec.txt b/doc/dir-spec.txt
index b01d0b347..2693352de 100644
--- a/doc/dir-spec.txt
+++ b/doc/dir-spec.txt
@@ -228,7 +228,26 @@ $Id$
Clients store network status documents so long as they are live.
-5.1. Managing naming
+5.1. Scheduling network status downloads
+
+ This download scheduling algorithm implements the approach described above
+ in a relatively low-state fashion. It reflects the current Tor
+ implementation.
+
+ Clients maintain a list of authorities; each client tries to keep the same
+ list, in the same order.
+
+ Periodically, on startup, and on HUP, clients check whether they need to
+ download fresh network status documents. The approach is as follows:
+ - If we have under X network status documents newer than OLD, we choose a
+ member of the list at random and try download XX documents starting
+ with that member's.
+ - Otherwise, if we have no network status documents newer than NEW, we
+ check to see which authority's document we retrieved most recently,
+ and try to retrieve the next authority's document. If we can't, we
+ try the next authority in sequence, and so on.
+
+5.2. Managing naming
In order to provide human-memorable names for individual server
identities, some directory servers bind names to IDs. Clients handle