[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] better cleanups as i figure out what"s going on



Update of /home2/or/cvsroot/tor/src/or
In directory moria:/home/arma/work/onion/cvs/tor/src/or

Modified Files:
	directory.c main.c 
Log Message:
better cleanups as i figure out what's going on


Index: directory.c
===================================================================
RCS file: /home2/or/cvsroot/tor/src/or/directory.c,v
retrieving revision 1.292
retrieving revision 1.293
diff -u -d -r1.292 -r1.293
--- directory.c	29 Sep 2005 23:06:48 -0000	1.292
+++ directory.c	29 Sep 2005 23:26:42 -0000	1.293
@@ -294,8 +294,9 @@
   }
 }
 
-/** Called when an attempt to download one or network status documents
- * on connection <b>conn</b> failed.
+/** Called when an attempt to download one or more network status
+ * documents on connection <b>conn</b> failed. Decide whether to
+ * retry the fetch now, later, or never.
  */
 static void
 connection_dir_download_networkstatus_failed(connection_t *conn)
@@ -324,7 +325,7 @@
   }
 }
 
-/** Called when an attempt to download one or network status documents
+/** Called when an attempt to download one or more router descriptors
  * on connection <b>conn</b> failed.
  */
 static void
@@ -958,6 +959,7 @@
       char *next = strstr(cp, "\nnetwork-status-version");
       if (next)
         next[1] = '\0';
+      /* learn from it, and then remove it from 'which' */
       if (router_set_networkstatus(cp, time(NULL), NS_FROM_DIR, which)<0)
         break;
       if (next) {
@@ -967,7 +969,7 @@
       else
         break;
     }
-    routers_update_all_from_networkstatus();/*launches router downloads*/
+    routers_update_all_from_networkstatus(); /*launches router downloads*/
     directory_info_has_arrived(time(NULL), 0);
     if (which) {
       if (smartlist_len(which)) {
@@ -1006,9 +1008,10 @@
       tor_free(body); tor_free(headers); tor_free(reason);
       return -1;
     }
+    /* as we learn from them, we remove them from 'which' */
+    router_load_routers_from_string(body, 0, which);
+    directory_info_has_arrived(time(NULL), 0);
     if (which) {
-      router_load_routers_from_string(body, 0, which);
-      directory_info_has_arrived(time(NULL), 0);
       log_fn(LOG_NOTICE, "Received %d/%d routers.",
              n_asked_for-smartlist_len(which), n_asked_for);
       if (smartlist_len(which)) {

Index: main.c
===================================================================
RCS file: /home2/or/cvsroot/tor/src/or/main.c,v
retrieving revision 1.559
retrieving revision 1.560
diff -u -d -r1.559 -r1.560
--- main.c	23 Sep 2005 18:49:37 -0000	1.559
+++ main.c	29 Sep 2005 23:26:42 -0000	1.560
@@ -529,8 +529,8 @@
     return 30*60;
 }
 
-/** This function is called whenever we successfully pull down some directory
- * information. */
+/** This function is called whenever we successfully pull down some new
+ * network statuses or server descriptors. */
 void
 directory_info_has_arrived(time_t now, int from_cache)
 {