plugin datastore mysql
[oweals/gnunet.git] / src / rps / gnunet-service-rps_sampler.c
index b65dd7c47f3cdbaca29d4cccf78f9f67feab55f9..a3e33e5c86ddcb683ab2248cd91283811e1e2e6f 100644 (file)
@@ -107,8 +107,7 @@ struct GetPeerCls
  * Sampler.
  */
 typedef void
-(*RPS_get_peers_type) (void *cls,
-                       const struct GNUNET_SCHEDULER_TaskContext *tc);
+(*RPS_get_peers_type) (void *cls);
 
 /**
  * Get one random peer out of the sampled peers.
@@ -118,8 +117,8 @@ typedef void
  * Only used internally
  */
 static void
-sampler_get_rand_peer (void *cls,
-                        const struct GNUNET_SCHEDULER_TaskContext *tc);
+sampler_get_rand_peer (void *cls);
+
 
 /**
  * Get one random peer out of the sampled peers.
@@ -128,8 +127,7 @@ sampler_get_rand_peer (void *cls,
  * corrsponding peer to the client.
  */
 static void
-sampler_mod_get_rand_peer (void *cls,
-                       const struct GNUNET_SCHEDULER_TaskContext *tc);
+sampler_mod_get_rand_peer (void *cls);
 
 
 /**
@@ -329,6 +327,7 @@ sampler_resize (struct RPS_Sampler *sampler, unsigned int new_size)
                "-%" PRIu32 ": %s",
                i,
                sampler->sampler_elements[i]->file_name);
+      GNUNET_free (sampler->sampler_elements[i]);
     }
 
     GNUNET_array_grow (sampler->sampler_elements,
@@ -530,16 +529,13 @@ RPS_sampler_reinitialise_by_value (struct RPS_Sampler *sampler,
  * Only used internally
  */
 static void
-sampler_get_rand_peer (void *cls,
-                        const struct GNUNET_SCHEDULER_TaskContext *tc)
+sampler_get_rand_peer (void *cls)
 {
   struct GetPeerCls *gpc = cls;
   uint32_t r_index;
   struct RPS_Sampler *sampler;
 
   gpc->get_peer_task = NULL;
-  if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
-    return;
   sampler = gpc->req_handle->sampler;
 
   /**;
@@ -583,8 +579,7 @@ sampler_get_rand_peer (void *cls,
  * corrsponding peer to the client.
  */
 static void
-sampler_mod_get_rand_peer (void *cls,
-                       const struct GNUNET_SCHEDULER_TaskContext *tc)
+sampler_mod_get_rand_peer (void *cls)
 {
   struct GetPeerCls *gpc = cls;
   struct RPS_SamplerElement *s_elem;
@@ -592,8 +587,6 @@ sampler_mod_get_rand_peer (void *cls,
   struct RPS_Sampler *sampler;
 
   gpc->get_peer_task = NULL;
-  if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
-    return;
   sampler = gpc->req_handle->sampler;
 
   LOG (GNUNET_ERROR_TYPE_DEBUG, "Single peer was requested\n");
@@ -607,7 +600,8 @@ sampler_mod_get_rand_peer (void *cls,
 
   if (EMPTY == s_elem->is_empty)
   {
-    LOG (GNUNET_ERROR_TYPE_DEBUG, "Sampler_mod element empty, rescheduling.\n");
+    LOG (GNUNET_ERROR_TYPE_DEBUG,
+        "Sampler_mod element empty, rescheduling.\n");
     GNUNET_assert (NULL == gpc->get_peer_task);
     gpc->get_peer_task =
       GNUNET_SCHEDULER_add_delayed (sampler->max_round_interval,
@@ -708,7 +702,8 @@ RPS_sampler_get_n_rand_peers (struct RPS_Sampler *sampler,
                                  req_handle->gpc_tail,
                                  gpc);
     // maybe add a little delay
-    gpc->get_peer_task = GNUNET_SCHEDULER_add_now (sampler->get_peers, gpc);
+    gpc->get_peer_task = GNUNET_SCHEDULER_add_now (sampler->get_peers,
+                                                  gpc);
   }
   return req_handle;
 }