27#ifndef GNUNET_TESTING_BARRIER_LIB_H
28#define GNUNET_TESTING_BARRIER_LIB_H
36#define GNUNET_TESTING_BARRIER_MAX 32
93 double percentage_to_be_reached,
94 unsigned int number_to_be_reached);
115 const char *barrier_label,
117 unsigned int node_number,
118 unsigned int running_on_master,
static int write_message(uint16_t message_type, const char *data, size_t data_length)
Write message to the master process.
struct GNUNET_TESTING_Command GNUNET_TESTING_cmd_barrier_create(const char *label, double percentage_to_be_reached, unsigned int number_to_be_reached)
Command to create a barrier.
struct GNUNET_TESTING_Command GNUNET_TESTING_cmd_barrier_reached(const char *label, const char *barrier_label, unsigned int asynchronous_finish, unsigned int node_number, unsigned int running_on_master, GNUNET_TESTING_cmd_helper_write_cb write_message)
If this command is executed the the process is signaling the master process that it reached a barrier...
void(* GNUNET_TESTING_cmd_helper_write_cb)(struct GNUNET_MessageHeader *message, size_t msg_length)
Callback function to write messages from the helper process running on a netjail node to the master p...
An entry for a barrier list FIXME: why is this in the public API!??!
struct GNUNET_TESTING_BarrierListEntry * prev
unsigned int expected_reaches
Number of commands attached to the barrier.
struct GNUNET_TESTING_BarrierListEntry * next
A list to hold barriers provided by plugins FIXME: why is this in the public API!?...
struct GNUNET_TESTING_BarrierListEntry * tail
List tail.
struct GNUNET_TESTING_BarrierListEntry * head
List head.
A command to be run by the interpreter.
struct GNUNET_TESTING_CommandLabel label
Label for the command.
bool asynchronous_finish
If "true", the interpreter should not immediately call finish, even if finish is non-NULL.