-doxygen and indentation
[oweals/gnunet.git] / src / fs / fs_api.c
index 302020d7d3a61623d5056779f975b34a79ca4ce0..f539c7910f1f5f7c220ef82fd0e223c766b132bc 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2001--2012 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2001--2012 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -131,7 +131,7 @@ process_job_queue (void *cls,
   int num_downloads_change;
   int block_limit_hit;
 
-  h->queue_job = GNUNET_SCHEDULER_NO_TASK;
+  h->queue_job = NULL;
   /* restart_at will be set to the time when it makes sense to
      re-evaluate the job queue (unless, of course, jobs complete
      or are added, then we'll be triggered immediately */
@@ -202,6 +202,8 @@ process_job_queue (void *cls,
       break;
     }
   }
+  GNUNET_break (h->active_downloads ==
+                num_downloads_active + num_probes_active);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
              "PA: %u, PE: %u, PW: %u; DA: %u, DE: %u, DW: %u\n",
              num_probes_active,
@@ -210,6 +212,8 @@ process_job_queue (void *cls,
              num_downloads_active,
              num_downloads_expired,
              num_downloads_waiting);
+  GNUNET_break (h->active_downloads + num_probes_active <=
+                h->max_parallel_downloads);
   /* calculate start/stop decisions */
   if (h->active_downloads + num_downloads_waiting > h->max_parallel_downloads)
   {
@@ -225,17 +229,19 @@ process_job_queue (void *cls,
     /* start all downloads (we can) */
     num_downloads_change = num_downloads_waiting;
     /* also start probes if there is room, but use a lower cap of (mpd/4) + 1 */
-    if (h->max_parallel_downloads / 2 >= (h->active_downloads + num_downloads_change))
+    if (1 + h->max_parallel_downloads / 4 >= (h->active_downloads + num_downloads_change))
       num_probes_change = GNUNET_MIN (num_probes_waiting,
                                       (1 + h->max_parallel_downloads / 4) - (h->active_downloads + num_downloads_change));
     else
       num_probes_change = 0;
   }
-
+  GNUNET_break (num_downloads_change <= num_downloads_waiting);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-             "Changing %d probes and %d downloads\n",
+             "Changing %d probes and %d/%u/%u downloads\n",
              num_probes_change,
-             num_downloads_change);
+             num_downloads_change,
+              (unsigned int) h->active_downloads,
+              (unsigned int) h->max_parallel_downloads);
   /* actually stop probes */
   next = h->running_head;
   while (NULL != (qe = next))
@@ -289,7 +295,8 @@ process_job_queue (void *cls,
       break;
     }
   }
-  GNUNET_break ( (0 == num_downloads_change) || (GNUNET_YES == block_limit_hit) );
+  GNUNET_break ( (0 == num_downloads_change) ||
+                 (GNUNET_YES == block_limit_hit) );
   GNUNET_break (0 == num_probes_change);
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -336,7 +343,7 @@ GNUNET_FS_queue_ (struct GNUNET_FS_Handle *h,
   qe->priority = priority;
   GNUNET_CONTAINER_DLL_insert_after (h->pending_head, h->pending_tail,
                                      h->pending_tail, qe);
-  if (h->queue_job != GNUNET_SCHEDULER_NO_TASK)
+  if (h->queue_job != NULL)
     GNUNET_SCHEDULER_cancel (h->queue_job);
   h->queue_job = GNUNET_SCHEDULER_add_now (&process_job_queue, h);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -364,7 +371,7 @@ GNUNET_FS_dequeue_ (struct GNUNET_FS_QueueEntry *qe)
     stop_job (qe);
   GNUNET_CONTAINER_DLL_remove (h->pending_head, h->pending_tail, qe);
   GNUNET_free (qe);
-  if (h->queue_job != GNUNET_SCHEDULER_NO_TASK)
+  if (h->queue_job != NULL)
     GNUNET_SCHEDULER_cancel (h->queue_job);
   h->queue_job = GNUNET_SCHEDULER_add_now (&process_job_queue, h);
 }
@@ -1619,7 +1626,7 @@ deserialize_publish_file (void *cls,
   /* re-start publishing (if needed)... */
   if (GNUNET_YES != pc->all_done)
   {
-    GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == pc->upload_task);
+    GNUNET_assert (NULL == pc->upload_task);
     pc->upload_task =
         GNUNET_SCHEDULER_add_with_priority
         (GNUNET_SCHEDULER_PRIORITY_BACKGROUND,
@@ -2140,7 +2147,7 @@ GNUNET_FS_search_sync_ (struct GNUNET_FS_SearchContext *sc)
   GNUNET_assert ((GNUNET_YES == GNUNET_FS_uri_test_ksk (sc->uri)) ||
                  (GNUNET_YES == GNUNET_FS_uri_test_sks (sc->uri)));
   uris = GNUNET_FS_uri_to_string (sc->uri);
-  in_pause = (sc->task != GNUNET_SCHEDULER_NO_TASK) ? 'r' : '\0';
+  in_pause = (sc->task != NULL) ? 'r' : '\0';
   if ((GNUNET_OK != GNUNET_BIO_write_string (wh, uris)) ||
       (GNUNET_OK != write_start_time (wh, sc->start_time)) ||
       (GNUNET_OK != GNUNET_BIO_write_string (wh, sc->emsg)) ||
@@ -3130,7 +3137,7 @@ GNUNET_FS_stop (struct GNUNET_FS_Handle *h)
 {
   while (h->top_head != NULL)
     h->top_head->ssf (h->top_head->ssf_cls);
-  if (h->queue_job != GNUNET_SCHEDULER_NO_TASK)
+  if (h->queue_job != NULL)
     GNUNET_SCHEDULER_cancel (h->queue_job);
   GNUNET_free (h->client_name);
   GNUNET_free (h);