Mesh of query states. More...
#include <mesh.h>
Data Fields | |
| struct module_stack | mods |
| active module stack | |
| struct module_env * | env |
| environment for new states | |
| rbtree_type | run |
| set of runnable queries (mesh_state.run_node) | |
| rbtree_type | all |
| rbtree of all current queries (mesh_state.node) | |
| size_t | num_query_authzone_up |
| number of queries for unbound's auth_zones, upstream query | |
| size_t | num_query_authzone_down |
| number of queries for unbound's auth_zones, downstream answers | |
| size_t | num_reply_addrs |
| count of the total number of mesh_reply entries | |
| size_t | num_reply_states |
| count of the number of mesh_states that have mesh_replies Because a state can send results to multiple reply addresses, this number must be equal or lower than num_reply_addrs. | |
| size_t | num_detached_states |
| number of mesh_states that have no mesh_replies, and also an empty set of super-states, thus are 'toplevel' or detached internal opportunistic queries | |
| size_t | num_forever_states |
| number of reply states in the forever list | |
| size_t | max_reply_states |
| max total number of reply states to have | |
| size_t | max_forever_states |
| max forever number of reply states to have | |
| size_t | stats_jostled |
| stats, cumulative number of reply states jostled out | |
| size_t | stats_dropped |
| stats, cumulative number of incoming client msgs dropped | |
| size_t | ans_expired |
| stats, number of expired replies sent | |
| size_t | ans_cachedb |
| stats, number of cached replies from cachedb | |
| size_t | replies_sent |
| number of replies sent | |
| struct timeval | replies_sum_wait |
| sum of waiting times for the replies | |
| struct timehist * | histogram |
| histogram of time values | |
| size_t | ans_secure |
| (extended stats) secure replies | |
| size_t | ans_bogus |
| (extended stats) bogus replies | |
| size_t | val_ops |
| (extended stats) number of validation operations | |
| size_t | ans_rcode [UB_STATS_RCODE_NUM] |
| (extended stats) rcodes in replies | |
| size_t | ans_nodata |
| (extended stats) rcode nodata in replies | |
| size_t | rpz_action [UB_STATS_RPZ_ACTION_NUM] |
| (extended stats) type of applied RPZ action | |
| size_t | num_queries_discard_timeout |
| stats, number of queries removed due to discard-timeout | |
| size_t | num_queries_wait_limit |
| stats, number of queries removed due to wait-limit | |
| size_t | num_dns_error_reports |
| stats, number of dns error reports generated | |
| struct sldns_buffer * | qbuf_bak |
| backup of query if other operations recurse and need the network buffers | |
| struct mesh_state * | forever_first |
| double linked list of the run-to-completion query states. | |
| struct mesh_state * | forever_last |
| last entry in run forever list | |
| struct mesh_state * | jostle_first |
| double linked list of the query states that can be jostled out by new queries if too old. | |
| struct mesh_state * | jostle_last |
| last entry in jostle list - this is the entry that is newest | |
| struct timeval | jostle_max |
| timeout for jostling. | |
| int | use_response_ip |
| If we need to use response ip (value passed from daemon) | |
| int | use_rpz |
| If we need to use RPZ (value passed from daemon) | |
Mesh of query states.
| struct mesh_state* mesh_area::forever_first |
double linked list of the run-to-completion query states.
These are query states with a reply
Referenced by mesh_delete_all(), mesh_new_client(), and mesh_state_delete().
| struct mesh_state* mesh_area::jostle_first |
double linked list of the query states that can be jostled out by new queries if too old.
These are query states with a reply
Referenced by mesh_delete_all(), mesh_make_new_space(), mesh_new_client(), and mesh_state_delete().
| struct timeval mesh_area::jostle_max |
timeout for jostling.
if age is lower, it does not get jostled.
Referenced by fr_worker_pickup_mesh(), mesh_create(), and mesh_make_new_space().