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 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_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 174 of file gnunet-service-namestore.c.
struct ZoneMonitor* ZoneMonitor::next |
Next element in the DLL.
Definition at line 179 of file gnunet-service-namestore.c.
struct ZoneMonitor* ZoneMonitor::prev |
Previous element in the DLL.
Definition at line 184 of file gnunet-service-namestore.c.
struct NamestoreClient* ZoneMonitor::nc |
Namestore client which intiated this zone monitor.
Definition at line 189 of file gnunet-service-namestore.c.
struct GNUNET_IDENTITY_PrivateKey ZoneMonitor::zone |
Private key of the zone.
Definition at line 189 of file gnunet-service-namestore.c.
enum GNUNET_GNSRECORD_Filter ZoneMonitor::filter |
The record set filter.
Definition at line 189 of file gnunet-service-namestore.c.
struct GNUNET_SCHEDULER_Task* ZoneMonitor::task |
Task active during initial iteration.
Definition at line 204 of file gnunet-service-namestore.c.
struct GNUNET_SCHEDULER_Task* ZoneMonitor::sa_wait_warning |
Task to warn about slow monitors.
Definition at line 209 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 209 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 223 of file gnunet-service-namestore.c.
Referenced by check_monitor_start().
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().
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.
int ZoneMonitor::in_first_iteration |
Are we (still) in the initial iteration pass?
Definition at line 242 of file gnunet-service-namestore.c.
int ZoneMonitor::run_again |
Run again because we skipped an orphan.
Definition at line 247 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 255 of file gnunet-service-namestore.c.