GNUnet  0.11.x
Data Fields
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_CRYPTO_EcdsaPrivateKey zone
 Private key of the zone. 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 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 157 of file gnunet-service-namestore.c.

Field Documentation

◆ next

struct ZoneMonitor* ZoneMonitor::next

Next element in the DLL.

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

Referenced by handle_monitor_next().

◆ prev

struct ZoneMonitor* ZoneMonitor::prev

Previous element in the DLL.

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

◆ nc

struct NamestoreClient* ZoneMonitor::nc

Namestore client which intiated this zone monitor.

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

Referenced by handle_monitor_next(), handle_monitor_start(), monitor_iterate_cb(), monitor_iteration_next(), and monitor_sync().

◆ zone

struct GNUNET_CRYPTO_EcdsaPrivateKey ZoneMonitor::zone

Private key of the zone.

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

Referenced by handle_monitor_start(), and monitor_iteration_next().

◆ task

struct GNUNET_SCHEDULER_Task* ZoneMonitor::task

Task active during initial iteration.

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

Referenced by handle_monitor_next(), handle_monitor_start(), monitor_iterate_cb(), and monitor_iteration_next().

◆ sa_wait_warning

struct GNUNET_SCHEDULER_Task* ZoneMonitor::sa_wait_warning

Task to warn about slow monitors.

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

Referenced by handle_monitor_next(), monitor_unblock(), and warn_monitor_slow().

◆ sa_waiting_start

struct GNUNET_TIME_Absolute ZoneMonitor::sa_waiting_start

Since when are we blocked on this monitor?

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

Referenced by handle_monitor_next(), monitor_unblock(), and warn_monitor_slow().

◆ seq

uint64_t ZoneMonitor::seq

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

Initialy set to 0. Updated in monitor_iterate_cb()

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

Referenced by monitor_iterate_cb(), and monitor_iteration_next().

◆ limit

uint64_t ZoneMonitor::limit

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

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

Referenced by handle_monitor_next(), handle_monitor_start(), monitor_iterate_cb(), monitor_iteration_next(), monitor_sync(), and monitor_unblock().

◆ 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 215 of file gnunet-service-namestore.c.

Referenced by handle_monitor_next(), monitor_iterate_cb(), monitor_iteration_next(), monitor_sync(), and monitor_unblock().

◆ in_first_iteration

int ZoneMonitor::in_first_iteration

Are we (still) in the initial iteration pass?

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

Referenced by handle_monitor_next(), handle_monitor_start(), and monitor_sync().

◆ 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 228 of file gnunet-service-namestore.c.

Referenced by handle_monitor_next(), monitor_sync(), and monitor_unblock().


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