GNUnet 0.22.0
ZoneMonitor Struct Reference

A namestore monitor. More...

Collaboration diagram for ZoneMonitor:
[legend]

Data Fields

struct ZoneMonitornext
 Next element in the DLL. More...
 
struct ZoneMonitorprev
 Previous element in the DLL. More...
 
struct NamestoreClientnc
 Namestore client which initiated this zone monitor. More...
 
struct GNUNET_CRYPTO_PrivateKey zone
 Private key of the zone. More...
 
enum GNUNET_GNSRECORD_Filter filter
 The record set filter. More...
 
struct GNUNET_SCHEDULER_Tasktask
 Task active during initial iteration. More...
 
struct GNUNET_SCHEDULER_Tasksa_wait_warning
 Task to warn about slow monitors. More...
 
struct GNUNET_TIME_Absolute sa_waiting_start
 Since when are we blocked on this monitor? More...
 
uint64_t seq
 Last sequence number in the zone iteration used to address next result of the zone iteration in the store. More...
 
uint64_t limit
 Current limit of how many more messages we are allowed to queue to this monitor. More...
 
uint64_t iteration_cnt
 How many more requests may we receive from the iterator before it is at the limit we gave it? Will be below or equal to limit. More...
 
int in_first_iteration
 Are we (still) in the initial iteration pass? More...
 
int run_again
 Run again because we skipped an orphan. More...
 
int sa_waiting
 Is there a store activity waiting for this monitor? We only raise the flag when it happens and search the DLL for the store activity when we had a limit increase. More...
 

Detailed Description

A namestore monitor.

Definition at line 162 of file gnunet-service-namestore.c.

Field Documentation

◆ next

struct ZoneMonitor* ZoneMonitor::next

Next element in the DLL.

Definition at line 167 of file gnunet-service-namestore.c.

◆ prev

struct ZoneMonitor* ZoneMonitor::prev

Previous element in the DLL.

Definition at line 172 of file gnunet-service-namestore.c.

◆ nc

struct NamestoreClient* ZoneMonitor::nc

Namestore client which initiated this zone monitor.

Definition at line 177 of file gnunet-service-namestore.c.

◆ zone

struct GNUNET_CRYPTO_PrivateKey ZoneMonitor::zone

Private key of the zone.

Definition at line 182 of file gnunet-service-namestore.c.

Referenced by handle_monitor_start().

◆ filter

enum GNUNET_GNSRECORD_Filter ZoneMonitor::filter

The record set filter.

Definition at line 187 of file gnunet-service-namestore.c.

◆ task

struct GNUNET_SCHEDULER_Task* ZoneMonitor::task

Task active during initial iteration.

Definition at line 192 of file gnunet-service-namestore.c.

◆ sa_wait_warning

struct GNUNET_SCHEDULER_Task* ZoneMonitor::sa_wait_warning

Task to warn about slow monitors.

Definition at line 197 of file gnunet-service-namestore.c.

◆ sa_waiting_start

struct GNUNET_TIME_Absolute ZoneMonitor::sa_waiting_start

Since when are we blocked on this monitor?

Definition at line 202 of file gnunet-service-namestore.c.

◆ seq

uint64_t ZoneMonitor::seq

Last sequence number in the zone iteration used to address next result of the zone iteration in the store.

Initially set to 0. Updated in monitor_iterate_cb()

Definition at line 211 of file gnunet-service-namestore.c.

Referenced by monitor_iterate_cb().

◆ limit

uint64_t ZoneMonitor::limit

Current limit of how many more messages we are allowed to queue to this monitor.

Definition at line 217 of file gnunet-service-namestore.c.

Referenced by handle_monitor_next().

◆ iteration_cnt

uint64_t ZoneMonitor::iteration_cnt

How many more requests may we receive from the iterator before it is at the limit we gave it? Will be below or equal to limit.

The effective limit for monitor events is thus iteration_cnt - limit!

Definition at line 225 of file gnunet-service-namestore.c.

◆ in_first_iteration

int ZoneMonitor::in_first_iteration

Are we (still) in the initial iteration pass?

Definition at line 230 of file gnunet-service-namestore.c.

◆ run_again

int ZoneMonitor::run_again

Run again because we skipped an orphan.

Definition at line 235 of file gnunet-service-namestore.c.

◆ sa_waiting

int ZoneMonitor::sa_waiting

Is there a store activity waiting for this monitor? We only raise the flag when it happens and search the DLL for the store activity when we had a limit increase.

If we cannot find any waiting store activity at that time, we clear the flag again.

Definition at line 243 of file gnunet-service-namestore.c.


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