]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
only consider uploading descriptors every 5 sec
authorNick Mathewson <nickm@torproject.org>
Tue, 13 Apr 2004 19:53:25 +0000 (19:53 +0000)
committerNick Mathewson <nickm@torproject.org>
Tue, 13 Apr 2004 19:53:25 +0000 (19:53 +0000)
svn:r1612

src/or/main.c

index c44d772e6e50197c3704c67b1ddd8775e424a613..6e8064399a9e4ed6a9fb789d572bec459f79f7f8 100644 (file)
@@ -335,6 +335,7 @@ static void run_connection_housekeeping(int i, time_t now) {
  */
 static void run_scheduled_events(time_t now) {
   static long time_to_fetch_directory = 0;
+  static time_t last_uploaded_services = 0;
   int i;
 
   /* 1. Every DirFetchPostPeriod seconds, we get a new directory and upload
@@ -356,6 +357,7 @@ static void run_scheduled_events(time_t now) {
     }
     /* Force an upload of our descriptors every DirFetchPostPeriod seconds. */
     rend_services_upload(1);
+    last_uploaded_services = now;
     rend_cache_clean(); /* should this go elsewhere? */
     time_to_fetch_directory = now + options.DirFetchPostPeriod;
   }
@@ -397,7 +399,10 @@ static void run_scheduled_events(time_t now) {
 
   /* 6. And upload service descriptors for any services whose intro points
    *    have changed in the last second. */
-  rend_services_upload(0);
+  if (last_uploaded_services < now-5) {
+    rend_services_upload(0);
+    last_uploaded_services = now;
+  }
 
 #if 0
   /* 6. and blow away any connections that need to die. can't do this later