gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r37395 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r37395 - gnunet/src/testbed
Date: Mon, 27 Jun 2016 16:06:26 +0200

Author: grothoff
Date: 2016-06-27 16:06:26 +0200 (Mon, 27 Jun 2016)
New Revision: 37395

Modified:
   gnunet/src/testbed/testbed_api.c
   gnunet/src/testbed/testbed_api_barriers.c
Log:
move functions unrelated to TESTBED_BarrierWaitHandle out of 
testbed_api_barriers.c

Modified: gnunet/src/testbed/testbed_api.c
===================================================================
--- gnunet/src/testbed/testbed_api.c    2016-06-27 14:02:13 UTC (rev 37394)
+++ gnunet/src/testbed/testbed_api.c    2016-06-27 14:06:26 UTC (rev 37395)
@@ -2268,4 +2268,147 @@
   return peer->unique_id;
 }
 
+
+/**
+ * Remove a barrier and it was the last one in the barrier hash map, destroy 
the
+ * hash map
+ *
+ * @param barrier the barrier to remove
+ */
+void
+GNUNET_TESTBED_barrier_remove_ (struct GNUNET_TESTBED_Barrier *barrier)
+{
+  struct GNUNET_TESTBED_Controller *c = barrier->c;
+
+  GNUNET_assert (NULL != c->barrier_map); /* No barriers present */
+  GNUNET_assert (GNUNET_OK ==
+                 GNUNET_CONTAINER_multihashmap_remove (c->barrier_map,
+                                                       &barrier->key,
+                                                       barrier));
+  GNUNET_free (barrier->name);
+  GNUNET_free (barrier);
+  if (0 == GNUNET_CONTAINER_multihashmap_size (c->barrier_map))
+  {
+    GNUNET_CONTAINER_multihashmap_destroy (c->barrier_map);
+    c->barrier_map = NULL;
+  }
+}
+
+
+/**
+ * Initialise a barrier and call the given callback when the required 
percentage
+ * of peers (quorum) reach the barrier OR upon error.
+ *
+ * @param controller the handle to the controller
+ * @param name identification name of the barrier
+ * @param quorum the percentage of peers that is required to reach the barrier.
+ *   Peers signal reaching a barrier by calling
+ *   GNUNET_TESTBED_barrier_reached().
+ * @param cb the callback to call when the barrier is reached or upon error.
+ *   Cannot be NULL.
+ * @param cls closure for the above callback
+ * @param echo GNUNET_YES to echo the barrier crossed status message back to 
the
+ *   controller
+ * @return barrier handle; NULL upon error
+ */
+struct GNUNET_TESTBED_Barrier *
+GNUNET_TESTBED_barrier_init_ (struct GNUNET_TESTBED_Controller *controller,
+                              const char *name,
+                              unsigned int quorum,
+                              GNUNET_TESTBED_barrier_status_cb cb, void *cls,
+                              int echo)
+{
+  struct GNUNET_TESTBED_BarrierInit *msg;
+  struct GNUNET_TESTBED_Barrier *barrier;
+  struct GNUNET_HashCode key;
+  size_t name_len;
+  uint16_t msize;
+
+  GNUNET_assert (quorum <= 100);
+  GNUNET_assert (NULL != cb);
+  name_len = strlen (name);
+  GNUNET_assert (0 < name_len);
+  GNUNET_CRYPTO_hash (name, name_len, &key);
+  if (NULL == controller->barrier_map)
+    controller->barrier_map = GNUNET_CONTAINER_multihashmap_create (3, 
GNUNET_YES);
+  if (GNUNET_YES ==
+      GNUNET_CONTAINER_multihashmap_contains (controller->barrier_map,
+                                              &key))
+  {
+    GNUNET_break (0);
+    return NULL;
+  }
+  LOG_DEBUG ("Initialising barrier `%s'\n", name);
+  barrier = GNUNET_new (struct GNUNET_TESTBED_Barrier);
+  barrier->c = controller;
+  barrier->name = GNUNET_strdup (name);
+  barrier->cb = cb;
+  barrier->cls = cls;
+  barrier->echo = echo;
+  (void) memcpy (&barrier->key, &key, sizeof (struct GNUNET_HashCode));
+  GNUNET_assert (GNUNET_OK ==
+                 GNUNET_CONTAINER_multihashmap_put (controller->barrier_map,
+                                                    &barrier->key,
+                                                    barrier,
+                                                    
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST));
+  msize = name_len + sizeof (struct GNUNET_TESTBED_BarrierInit);
+  msg = GNUNET_malloc (msize);
+  msg->header.size = htons (msize);
+  msg->header.type = htons (GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT);
+  msg->quorum = (uint8_t) quorum;
+  (void) memcpy (msg->name, barrier->name, name_len);
+  GNUNET_TESTBED_queue_message_ (barrier->c, &msg->header);
+  return barrier;
+}
+
+
+/**
+ * Initialise a barrier and call the given callback when the required 
percentage
+ * of peers (quorum) reach the barrier OR upon error.
+ *
+ * @param controller the handle to the controller
+ * @param name identification name of the barrier
+ * @param quorum the percentage of peers that is required to reach the barrier.
+ *   Peers signal reaching a barrier by calling
+ *   GNUNET_TESTBED_barrier_reached().
+ * @param cb the callback to call when the barrier is reached or upon error.
+ *   Cannot be NULL.
+ * @param cls closure for the above callback
+ * @return barrier handle; NULL upon error
+ */
+struct GNUNET_TESTBED_Barrier *
+GNUNET_TESTBED_barrier_init (struct GNUNET_TESTBED_Controller *controller,
+                             const char *name,
+                             unsigned int quorum,
+                             GNUNET_TESTBED_barrier_status_cb cb, void *cls)
+{
+  return GNUNET_TESTBED_barrier_init_ (controller,
+                                       name, quorum, cb, cls, GNUNET_YES);
+}
+
+
+/**
+ * Cancel a barrier.
+ *
+ * @param barrier the barrier handle
+ */
+void
+GNUNET_TESTBED_barrier_cancel (struct GNUNET_TESTBED_Barrier *barrier)
+{
+  struct GNUNET_TESTBED_BarrierCancel *msg;
+  uint16_t msize;
+
+  msize = sizeof (struct GNUNET_TESTBED_BarrierCancel) + strlen 
(barrier->name);
+  msg = GNUNET_malloc (msize);
+  msg->header.size = htons (msize);
+  msg->header.type = htons (GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL);
+  (void) memcpy (msg->name, barrier->name, strlen (barrier->name));
+  GNUNET_TESTBED_queue_message_ (barrier->c, &msg->header);
+  GNUNET_TESTBED_barrier_remove_ (barrier);
+}
+
+
+
+
+
 /* end of testbed_api.c */

Modified: gnunet/src/testbed/testbed_api_barriers.c
===================================================================
--- gnunet/src/testbed/testbed_api_barriers.c   2016-06-27 14:02:13 UTC (rev 
37394)
+++ gnunet/src/testbed/testbed_api_barriers.c   2016-06-27 14:06:26 UTC (rev 
37395)
@@ -43,145 +43,6 @@
 
 
 /**
- * Remove a barrier and it was the last one in the barrier hash map, destroy 
the
- * hash map
- *
- * @param barrier the barrier to remove
- */
-void
-GNUNET_TESTBED_barrier_remove_ (struct GNUNET_TESTBED_Barrier *barrier)
-{
-  struct GNUNET_TESTBED_Controller *c = barrier->c;
-
-  GNUNET_assert (NULL != c->barrier_map); /* No barriers present */
-  GNUNET_assert (GNUNET_OK ==
-                 GNUNET_CONTAINER_multihashmap_remove (c->barrier_map,
-                                                       &barrier->key,
-                                                       barrier));
-  GNUNET_free (barrier->name);
-  GNUNET_free (barrier);
-  if (0 == GNUNET_CONTAINER_multihashmap_size (c->barrier_map))
-  {
-    GNUNET_CONTAINER_multihashmap_destroy (c->barrier_map);
-    c->barrier_map = NULL;
-  }
-}
-
-
-/**
- * Initialise a barrier and call the given callback when the required 
percentage
- * of peers (quorum) reach the barrier OR upon error.
- *
- * @param controller the handle to the controller
- * @param name identification name of the barrier
- * @param quorum the percentage of peers that is required to reach the barrier.
- *   Peers signal reaching a barrier by calling
- *   GNUNET_TESTBED_barrier_reached().
- * @param cb the callback to call when the barrier is reached or upon error.
- *   Cannot be NULL.
- * @param cls closure for the above callback
- * @param echo GNUNET_YES to echo the barrier crossed status message back to 
the
- *   controller
- * @return barrier handle; NULL upon error
- */
-struct GNUNET_TESTBED_Barrier *
-GNUNET_TESTBED_barrier_init_ (struct GNUNET_TESTBED_Controller *controller,
-                              const char *name,
-                              unsigned int quorum,
-                              GNUNET_TESTBED_barrier_status_cb cb, void *cls,
-                              int echo)
-{
-  struct GNUNET_TESTBED_BarrierInit *msg;
-  struct GNUNET_TESTBED_Barrier *barrier;
-  struct GNUNET_HashCode key;
-  size_t name_len;
-  uint16_t msize;
-
-  GNUNET_assert (quorum <= 100);
-  GNUNET_assert (NULL != cb);
-  name_len = strlen (name);
-  GNUNET_assert (0 < name_len);
-  GNUNET_CRYPTO_hash (name, name_len, &key);
-  if (NULL == controller->barrier_map)
-    controller->barrier_map = GNUNET_CONTAINER_multihashmap_create (3, 
GNUNET_YES);
-  if (GNUNET_YES ==
-      GNUNET_CONTAINER_multihashmap_contains (controller->barrier_map,
-                                              &key))
-  {
-    GNUNET_break (0);
-    return NULL;
-  }
-  LOG_DEBUG ("Initialising barrier `%s'\n", name);
-  barrier = GNUNET_new (struct GNUNET_TESTBED_Barrier);
-  barrier->c = controller;
-  barrier->name = GNUNET_strdup (name);
-  barrier->cb = cb;
-  barrier->cls = cls;
-  barrier->echo = echo;
-  (void) memcpy (&barrier->key, &key, sizeof (struct GNUNET_HashCode));
-  GNUNET_assert (GNUNET_OK ==
-                 GNUNET_CONTAINER_multihashmap_put (controller->barrier_map,
-                                                    &barrier->key,
-                                                    barrier,
-                                                    
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST));
-  msize = name_len + sizeof (struct GNUNET_TESTBED_BarrierInit);
-  msg = GNUNET_malloc (msize);
-  msg->header.size = htons (msize);
-  msg->header.type = htons (GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT);
-  msg->quorum = (uint8_t) quorum;
-  (void) memcpy (msg->name, barrier->name, name_len);
-  GNUNET_TESTBED_queue_message_ (barrier->c, &msg->header);
-  return barrier;
-}
-
-
-/**
- * Initialise a barrier and call the given callback when the required 
percentage
- * of peers (quorum) reach the barrier OR upon error.
- *
- * @param controller the handle to the controller
- * @param name identification name of the barrier
- * @param quorum the percentage of peers that is required to reach the barrier.
- *   Peers signal reaching a barrier by calling
- *   GNUNET_TESTBED_barrier_reached().
- * @param cb the callback to call when the barrier is reached or upon error.
- *   Cannot be NULL.
- * @param cls closure for the above callback
- * @return barrier handle; NULL upon error
- */
-struct GNUNET_TESTBED_Barrier *
-GNUNET_TESTBED_barrier_init (struct GNUNET_TESTBED_Controller *controller,
-                             const char *name,
-                             unsigned int quorum,
-                             GNUNET_TESTBED_barrier_status_cb cb, void *cls)
-{
-  return GNUNET_TESTBED_barrier_init_ (controller,
-                                       name, quorum, cb, cls, GNUNET_YES);
-}
-
-
-/**
- * Cancel a barrier.
- *
- * @param barrier the barrier handle
- */
-void
-GNUNET_TESTBED_barrier_cancel (struct GNUNET_TESTBED_Barrier *barrier)
-{
-  struct GNUNET_TESTBED_BarrierCancel *msg;
-  uint16_t msize;
-
-  msize = sizeof (struct GNUNET_TESTBED_BarrierCancel) + strlen 
(barrier->name);
-  msg = GNUNET_malloc (msize);
-  msg->header.size = htons (msize);
-  msg->header.type = htons (GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL);
-  (void) memcpy (msg->name, barrier->name, strlen (barrier->name));
-  GNUNET_TESTBED_queue_message_ (barrier->c, &msg->header);
-  GNUNET_TESTBED_barrier_remove_ (barrier);
-}
-
-
-/**
  * Barrier wait handle
  */
 struct GNUNET_TESTBED_BarrierWaitHandle




reply via email to

[Prev in Thread] Current Thread [Next in Thread]