GNUnet  0.20.0
QueueEntry Struct Reference

An entry in the operation queue. More...

Collaboration diagram for QueueEntry:
[legend]

Data Fields

struct QueueEntrynext
 The next DLL pointer. More...
 
struct QueueEntryprev
 The prev DLL pointer. More...
 
struct GNUNET_TESTBED_Operationop
 The operation this entry holds. More...
 
unsigned int nres
 How many units of resources does the operation need. More...
 
struct Queuequeue
 Queue this entry is queued with. More...
 
struct PendingMessagepm
 Pending message this entry is for, or NULL for none. More...
 
uint64_t mid
 Message ID used for this message with the queue used for transmission. More...
 

Detailed Description

An entry in the operation queue.

Entry identifying transmission in one of our struct Queue which still awaits an ACK.

This is used to ensure we do not overwhelm a communicator and limit the number of messages outstanding per communicator (say in case communicator is CPU bound) and per queue (in case bandwidth allocation exceeds what the communicator can actually provide towards a particular peer/target).

Definition at line 47 of file testbed_api_operations.c.

Field Documentation

◆ next

struct QueueEntry * QueueEntry::next

The next DLL pointer.

Kept as a DLL.

Definition at line 52 of file testbed_api_operations.c.

Referenced by decide_capacity(), and recheck_waiting().

◆ prev

struct QueueEntry * QueueEntry::prev

The prev DLL pointer.

Kept as a DLL.

Definition at line 57 of file testbed_api_operations.c.

◆ op

struct GNUNET_TESTBED_Operation* QueueEntry::op

The operation this entry holds.

Definition at line 62 of file testbed_api_operations.c.

Referenced by change_state(), decide_capacity(), GNUNET_TESTBED_operation_queue_reset_max_active_(), and recheck_waiting().

◆ nres

unsigned int QueueEntry::nres

How many units of resources does the operation need.

Definition at line 67 of file testbed_api_operations.c.

Referenced by change_state(), decide_capacity(), GNUNET_TESTBED_operation_queue_insert2_(), and GNUNET_TESTBED_operation_release_().

◆ queue

struct Queue* QueueEntry::queue

Queue this entry is queued with.

Definition at line 1803 of file gnunet-service-tng.c.

◆ pm

struct PendingMessage* QueueEntry::pm

Pending message this entry is for, or NULL for none.

Definition at line 1808 of file gnunet-service-tng.c.

Referenced by free_fragment_tree().

◆ mid

uint64_t QueueEntry::mid

Message ID used for this message with the queue used for transmission.

Definition at line 1813 of file gnunet-service-tng.c.


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