Handle to interact with a GNUnet testbed controller. More...
#include </home/buildbot/bb-worker/worker/gnunet_firefly/build/src/testbed/testbed_api.h>
Data Fields | |
struct GNUNET_TESTBED_Host * | host |
The host where the controller is running. More... | |
GNUNET_TESTBED_ControllerCallback | cc |
The controller callback. More... | |
void * | cc_cls |
The closure for controller callback. More... | |
struct GNUNET_CONFIGURATION_Handle * | cfg |
The configuration to use while connecting to controller. More... | |
struct GNUNET_MQ_Handle * | mq |
The message queue to the controller service. More... | |
struct GNUNET_TESTBED_HostRegistrationHandle * | rh |
The host registration handle; NULL if no current registration requests are present. More... | |
struct GNUNET_CONTAINER_MultiHashMap32 * | opc_map |
The map of active operation contexts. More... | |
TESTBED_opcq_empty_cb | opcq_empty_cb |
If this callback is not NULL, schedule it as a task when opc_map gets empty. More... | |
void * | opcq_empty_cls |
Closure for the above task. More... | |
struct OperationQueue * | opq_parallel_operations |
Operation queue for simultaneous operations. More... | |
struct OperationQueue * | opq_parallel_service_connections |
Operation queue for simultaneous service connections. More... | |
struct OperationQueue * | opq_parallel_topology_config_operations |
Operation queue for simultaneous topology configuration operations. More... | |
struct GNUNET_CONTAINER_MultiHashMap * | barrier_map |
handle for hashtable of barrier handles, values are of type struct GNUNET_TESTBED_Barrier . More... | |
uint64_t | event_mask |
The controller event mask. More... | |
uint32_t | operation_counter |
The operation id counter. More... | |
Handle to interact with a GNUnet testbed controller.
Each controller has at least one master handle which is created when the controller is created; this master handle interacts with the controller process, destroying it destroys the controller (by closing stdin of the controller process). Additionally, controllers can interact with each other (in a P2P fashion); those links are established via TCP/IP on the controller's service port.
Definition at line 193 of file testbed_api.h.
struct GNUNET_TESTBED_Host* GNUNET_TESTBED_Controller::host |
The host where the controller is running.
Definition at line 198 of file testbed_api.h.
Referenced by GNUNET_TESTBED_controller_connect(), GNUNET_TESTBED_controller_disconnect(), GNUNET_TESTBED_controller_link(), and GNUNET_TESTBED_get_next_op_id().
GNUNET_TESTBED_ControllerCallback GNUNET_TESTBED_Controller::cc |
The controller callback.
Definition at line 203 of file testbed_api.h.
Referenced by configuration_receiver(), GNUNET_TESTBED_controller_connect(), handle_link_controllers_result(), handle_op_fail_event(), handle_opsuccess(), handle_peer_conevent(), handle_peer_event(), and handle_slave_config().
void* GNUNET_TESTBED_Controller::cc_cls |
The closure for controller callback.
Definition at line 208 of file testbed_api.h.
Referenced by configuration_receiver(), GNUNET_TESTBED_controller_connect(), handle_link_controllers_result(), handle_op_fail_event(), handle_opsuccess(), handle_peer_conevent(), handle_peer_event(), and handle_slave_config().
struct GNUNET_CONFIGURATION_Handle* GNUNET_TESTBED_Controller::cfg |
The configuration to use while connecting to controller.
Definition at line 213 of file testbed_api.h.
Referenced by gnunet_testing.Peer::__del__(), gnunet_testing.Peer::get_statistics_value(), GNUNET_MYSQL_context_create(), GNUNET_TESTBED_controller_connect(), GNUNET_TESTBED_controller_disconnect(), GNUNET_TRANSPORT_monitor(), iopen(), reconnect(), gnunet_testing.Peer::start(), and gnunet_testing.Peer::stop().
struct GNUNET_MQ_Handle* GNUNET_TESTBED_Controller::mq |
The message queue to the controller service.
Definition at line 218 of file testbed_api.h.
Referenced by disconnect(), GNUNET_TESTBED_barrier_cancel(), GNUNET_TESTBED_barrier_init_(), GNUNET_TESTBED_controller_connect(), GNUNET_TESTBED_controller_disconnect(), GNUNET_TESTBED_forward_operation_msg_(), GNUNET_TESTBED_queue_message_(), GNUNET_TRANSPORT_monitor(), opstart_manage_service(), opstart_overlay_connect(), opstart_peer_create(), opstart_peer_destroy(), opstart_peer_reconfigure(), opstart_peer_start(), opstart_peer_stop(), opstart_shutdown_peers(), reconnect(), and send_start_monitor().
struct GNUNET_TESTBED_HostRegistrationHandle* GNUNET_TESTBED_Controller::rh |
The host registration handle; NULL if no current registration requests are present.
Definition at line 224 of file testbed_api.h.
Referenced by GNUNET_TESTBED_register_host(), and handle_add_host_confirm().
struct GNUNET_CONTAINER_MultiHashMap32* GNUNET_TESTBED_Controller::opc_map |
The map of active operation contexts.
Definition at line 229 of file testbed_api.h.
Referenced by find_opc(), GNUNET_TESTBED_controller_disconnect(), GNUNET_TESTBED_insert_opc_(), GNUNET_TESTBED_remove_opc_(), GNUNET_TESTBED_shutdown_peers(), and interrupt().
TESTBED_opcq_empty_cb GNUNET_TESTBED_Controller::opcq_empty_cb |
If this callback is not NULL, schedule it as a task when opc_map gets empty.
Definition at line 234 of file testbed_api.h.
Referenced by GNUNET_TESTBED_remove_opc_(), and interrupt().
void* GNUNET_TESTBED_Controller::opcq_empty_cls |
Closure for the above task.
Definition at line 239 of file testbed_api.h.
Referenced by GNUNET_TESTBED_remove_opc_(), and interrupt().
struct OperationQueue* GNUNET_TESTBED_Controller::opq_parallel_operations |
Operation queue for simultaneous operations.
Definition at line 244 of file testbed_api.h.
Referenced by GNUNET_TESTBED_controller_connect(), GNUNET_TESTBED_controller_disconnect(), GNUNET_TESTBED_controller_link(), GNUNET_TESTBED_get_slave_config_(), GNUNET_TESTBED_peer_create(), GNUNET_TESTBED_peer_destroy(), GNUNET_TESTBED_peer_get_information(), GNUNET_TESTBED_peer_manage_service(), GNUNET_TESTBED_peer_start(), GNUNET_TESTBED_peer_stop(), GNUNET_TESTBED_peer_update_configuration(), and GNUNET_TESTBED_shutdown_peers().
struct OperationQueue* GNUNET_TESTBED_Controller::opq_parallel_service_connections |
Operation queue for simultaneous service connections.
Definition at line 249 of file testbed_api.h.
Referenced by GNUNET_TESTBED_controller_connect(), and GNUNET_TESTBED_controller_disconnect().
struct OperationQueue* GNUNET_TESTBED_Controller::opq_parallel_topology_config_operations |
Operation queue for simultaneous topology configuration operations.
Definition at line 254 of file testbed_api.h.
Referenced by GNUNET_TESTBED_controller_connect(), GNUNET_TESTBED_controller_disconnect(), and GNUNET_TESTBED_overlay_configure_topology_va().
struct GNUNET_CONTAINER_MultiHashMap* GNUNET_TESTBED_Controller::barrier_map |
handle for hashtable of barrier handles, values are of type struct GNUNET_TESTBED_Barrier
.
Definition at line 260 of file testbed_api.h.
Referenced by GNUNET_TESTBED_barrier_init_(), GNUNET_TESTBED_barrier_remove_(), and handle_barrier_status().
uint64_t GNUNET_TESTBED_Controller::event_mask |
The controller event mask.
Definition at line 265 of file testbed_api.h.
Referenced by configuration_receiver(), GNUNET_TESTBED_controller_connect(), handle_link_controllers_result(), handle_op_fail_event(), handle_opsuccess(), handle_peer_conevent(), handle_peer_event(), and handle_slave_config().
uint32_t GNUNET_TESTBED_Controller::operation_counter |
The operation id counter.
use current value and increment
Definition at line 270 of file testbed_api.h.
Referenced by GNUNET_TESTBED_get_next_op_id().