A namestore monitor. More...
Data Fields | |
struct ZoneMonitor * | next |
Next element in the DLL. More... | |
struct ZoneMonitor * | prev |
Previous element in the DLL. More... | |
struct NamestoreClient * | nc |
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_Task * | task |
Task active during initial iteration. More... | |
struct GNUNET_SCHEDULER_Task * | sa_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... | |
A namestore monitor.
Definition at line 162 of file gnunet-service-namestore.c.
struct ZoneMonitor* ZoneMonitor::next |
Next element in the DLL.
Definition at line 167 of file gnunet-service-namestore.c.
struct ZoneMonitor* ZoneMonitor::prev |
Previous element in the DLL.
Definition at line 172 of file gnunet-service-namestore.c.
struct NamestoreClient* ZoneMonitor::nc |
Namestore client which initiated this zone monitor.
Definition at line 177 of file gnunet-service-namestore.c.
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().
enum GNUNET_GNSRECORD_Filter ZoneMonitor::filter |
The record set filter.
Definition at line 187 of file gnunet-service-namestore.c.
struct GNUNET_SCHEDULER_Task* ZoneMonitor::task |
Task active during initial iteration.
Definition at line 192 of file gnunet-service-namestore.c.
struct GNUNET_SCHEDULER_Task* ZoneMonitor::sa_wait_warning |
Task to warn about slow monitors.
Definition at line 197 of file gnunet-service-namestore.c.
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.
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().
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().
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.
int ZoneMonitor::in_first_iteration |
Are we (still) in the initial iteration pass?
Definition at line 230 of file gnunet-service-namestore.c.
int ZoneMonitor::run_again |
Run again because we skipped an orphan.
Definition at line 235 of file gnunet-service-namestore.c.
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.