GNUnet  0.11.x
Data Fields
GNUNET_TESTBED_Operation Struct Reference

Opaque handle to an abstract operation to be executed by the testing framework. More...

Collaboration diagram for GNUNET_TESTBED_Operation:
[legend]

Data Fields

OperationStart start
 Function to call when we have the resources to begin the operation. More...
 
OperationRelease release
 Function to call to clean up after the operation (which may or may not have been started yet). More...
 
void * cb_cls
 Closure for callbacks. More...
 
struct OperationQueue ** queues
 Array of operation queues this Operation belongs to. More...
 
struct QueueEntry ** qentries
 Array of operation queue entries corresponding to this operation in operation queues for this operation. More...
 
unsigned int * nres
 Array of number of resources an operation need from each queue. More...
 
struct ReadyQueueEntryrq_entry
 Entry corresponding to this operation in ready queue. More...
 
struct TimeSlottslots_head
 Head pointer for DLL of tslots allocated to this operation. More...
 
struct TimeSlottslots_tail
 Tail pointer for DLL of tslots allocated to this operation. More...
 
struct GNUNET_TIME_Absolute tstart
 The time at which the operation is started. More...
 
unsigned int nqueues
 Number of queues in the operation queues array. More...
 
enum OperationState state
 The state of the operation. More...
 
int failed
 Is this a failed operation? More...
 

Detailed Description

Opaque handle to an abstract operation to be executed by the testing framework.

Definition at line 307 of file testbed_api_operations.c.

Field Documentation

◆ start

OperationStart GNUNET_TESTBED_Operation::start

Function to call when we have the resources to begin the operation.

Definition at line 312 of file testbed_api_operations.c.

Referenced by GNUNET_TESTBED_operation_create_(), and process_rq_task().

◆ release

OperationRelease GNUNET_TESTBED_Operation::release

Function to call to clean up after the operation (which may or may not have been started yet).

Definition at line 318 of file testbed_api_operations.c.

Referenced by GNUNET_TESTBED_operation_create_(), and GNUNET_TESTBED_operation_release_().

◆ cb_cls

void* GNUNET_TESTBED_Operation::cb_cls

◆ queues

struct OperationQueue** GNUNET_TESTBED_Operation::queues

◆ qentries

struct QueueEntry** GNUNET_TESTBED_Operation::qentries

Array of operation queue entries corresponding to this operation in operation queues for this operation.

Definition at line 334 of file testbed_api_operations.c.

Referenced by change_state(), check_readiness(), GNUNET_TESTBED_operation_release_(), and remove_queue_entry().

◆ nres

unsigned int* GNUNET_TESTBED_Operation::nres

Array of number of resources an operation need from each queue.

The numbers in this array should correspond to the queues array

Definition at line 340 of file testbed_api_operations.c.

Referenced by change_state(), check_readiness(), defer(), GNUNET_TESTBED_operation_queue_insert2_(), GNUNET_TESTBED_operation_release_(), and update_tslots().

◆ rq_entry

struct ReadyQueueEntry* GNUNET_TESTBED_Operation::rq_entry

Entry corresponding to this operation in ready queue.

Will be NULL if the operation is not marked as READY

Definition at line 346 of file testbed_api_operations.c.

Referenced by check_readiness(), GNUNET_TESTBED_operation_begin_wait_(), rq_add(), and rq_remove().

◆ tslots_head

struct TimeSlot* GNUNET_TESTBED_Operation::tslots_head

Head pointer for DLL of tslots allocated to this operation.

Definition at line 351 of file testbed_api_operations.c.

Referenced by assign_timeslot(), cleanup_tslots(), and update_tslots().

◆ tslots_tail

struct TimeSlot* GNUNET_TESTBED_Operation::tslots_tail

Tail pointer for DLL of tslots allocated to this operation.

Definition at line 356 of file testbed_api_operations.c.

Referenced by assign_timeslot(), cleanup_tslots(), and update_tslots().

◆ tstart

struct GNUNET_TIME_Absolute GNUNET_TESTBED_Operation::tstart

The time at which the operation is started.

Definition at line 361 of file testbed_api_operations.c.

Referenced by process_rq_task(), and update_tslots().

◆ nqueues

unsigned int GNUNET_TESTBED_Operation::nqueues

◆ state

enum OperationState GNUNET_TESTBED_Operation::state

◆ failed

int GNUNET_TESTBED_Operation::failed

Is this a failed operation?

Definition at line 376 of file testbed_api_operations.c.

Referenced by GNUNET_TESTBED_operation_mark_failed(), and update_tslots().


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