GNUnet  0.19.3
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 intiated this zone monitor. More...
 
struct GNUNET_IDENTITY_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 174 of file gnunet-service-namestore.c.

Field Documentation

◆ next

struct ZoneMonitor* ZoneMonitor::next

Next element in the DLL.

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

◆ prev

struct ZoneMonitor* ZoneMonitor::prev

Previous element in the DLL.

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

◆ nc

struct NamestoreClient* ZoneMonitor::nc

Namestore client which intiated this zone monitor.

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

◆ zone

struct GNUNET_IDENTITY_PrivateKey ZoneMonitor::zone

Private key of the zone.

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

◆ filter

enum GNUNET_GNSRECORD_Filter ZoneMonitor::filter

The record set filter.

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

◆ task

struct GNUNET_SCHEDULER_Task* ZoneMonitor::task

Task active during initial iteration.

Definition at line 204 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 209 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 209 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 223 of file gnunet-service-namestore.c.

Referenced by check_monitor_start().

◆ limit

uint64_t ZoneMonitor::limit

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

Definition at line 229 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 237 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 242 of file gnunet-service-namestore.c.

◆ run_again

int ZoneMonitor::run_again

Run again because we skipped an orphan.

Definition at line 247 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 255 of file gnunet-service-namestore.c.


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