aboutsummaryrefslogtreecommitdiff
path: root/src/testbed/testbed_api.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-06-27 14:08:01 +0000
committerChristian Grothoff <christian@grothoff.org>2016-06-27 14:08:01 +0000
commit02a21c4dcaae82d610630036d3ea4921723504f9 (patch)
treeb41d48e6d14a06e540500c6e6a41c8a1ec39b8c9 /src/testbed/testbed_api.h
parent24680d0c69d4a14e207b20051c34ee48dbafdc1f (diff)
move functions unrelated to TESTBED_BarrierWaitHandle out of testbed_api_barriers.c
Diffstat (limited to 'src/testbed/testbed_api.h')
-rw-r--r--src/testbed/testbed_api.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/testbed/testbed_api.h b/src/testbed/testbed_api.h
index 7a8e6539a0..cd3358c9a8 100644
--- a/src/testbed/testbed_api.h
+++ b/src/testbed/testbed_api.h
@@ -505,5 +505,42 @@ GNUNET_TESTBED_get_slave_config_ (void *op_cls,
uint32_t slave_host_id);
+
+/**
+ * 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);
+
+
+/**
+ * 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);
+
+
+
#endif
/* end of testbed_api.h */