mesh_state Struct Reference

A mesh query state Unique per qname, qtype, qclass (from the qstate). More...

#include <mesh.h>

Public Types

enum  mesh_list_select { mesh_no_list, mesh_forever_list, mesh_jostle_list }
 

if this state is in the forever list, jostle list, or neither


Data Fields

rbnode_t node
 node in mesh_area all tree, key is this struct.
rbnode_t run_node
 node in mesh_area runnable tree, key is this struct
struct module_qstate s
 the query state.
struct mesh_replyreply_list
 the list of replies to clients for the results
struct mesh_cbcb_list
 the list of callbacks for the results
rbtree_t super_set
 set of superstates (that want this state's result) contains struct mesh_state_ref*
rbtree_t sub_set
 set of substates (that this state needs to continue) contains struct mesh_state_ref*
size_t num_activated
 number of activations for the mesh state
struct mesh_stateprev
 previous in linked list for reply states
struct mesh_statenext
 next in linked list for reply states
enum mesh_state::mesh_list_select list_select
 if this state is in the forever list, jostle list, or neither
uint8_t replies_sent
 true if replies have been sent out (at end for alignment)

Detailed Description

A mesh query state Unique per qname, qtype, qclass (from the qstate).

And RD / CD flag; in case a client turns it off. And priming queries are different from ordinary queries (because of hints).

The entire structure is allocated in a region, this region is the qstate region. All parts (rbtree nodes etc) are also allocated in the region.


Field Documentation

node in mesh_area all tree, key is this struct.

Must be first.

Referenced by mesh_area_find(), mesh_attach_sub(), mesh_new_callback(), mesh_new_client(), mesh_new_prefetch(), and mesh_state_create().


The documentation for this struct was generated from the following file:
Generated on Thu Apr 22 00:27:08 2010 for unbound by  doxygen 1.6.3