GNUnet  0.19.5
GNUNET_TESTBED_Controller Struct Reference

Handle to interact with a GNUnet testbed controller. More...

#include </home/buildbot/bb-worker/worker/gnunet_firefly/build/src/testbed/testbed_api.h>

Collaboration diagram for GNUNET_TESTBED_Controller:
[legend]

Data Fields

struct GNUNET_TESTBED_Hosthost
 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_Handlecfg
 The configuration to use while connecting to controller. More...
 
struct GNUNET_MQ_Handlemq
 The message queue to the controller service. More...
 
struct GNUNET_TESTBED_HostRegistrationHandlerh
 The host registration handle; NULL if no current registration requests are present. More...
 
struct GNUNET_CONTAINER_MultiHashMap32opc_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 OperationQueueopq_parallel_operations
 Operation queue for simultaneous operations. More...
 
struct OperationQueueopq_parallel_service_connections
 Operation queue for simultaneous service connections. More...
 
struct OperationQueueopq_parallel_topology_config_operations
 Operation queue for simultaneous topology configuration operations. More...
 
struct GNUNET_CONTAINER_MultiHashMapbarrier_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...
 

Detailed Description

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.

Field Documentation

◆ host

struct GNUNET_TESTBED_Host* GNUNET_TESTBED_Controller::host

◆ cc

◆ cc_cls

void* GNUNET_TESTBED_Controller::cc_cls

◆ cfg

◆ mq

◆ rh

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().

◆ opc_map

struct GNUNET_CONTAINER_MultiHashMap32* GNUNET_TESTBED_Controller::opc_map

◆ opcq_empty_cb

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().

◆ opcq_empty_cls

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().

◆ opq_parallel_operations

◆ opq_parallel_service_connections

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().

◆ opq_parallel_topology_config_operations

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().

◆ barrier_map

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().

◆ event_mask

◆ operation_counter

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().


The documentation for this struct was generated from the following file: