Public Types | Data Fields
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. More...
 
rbnode_t run_node
 node in mesh_area runnable tree, key is this struct
 
struct module_qstate s
 the query state. More...
 
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
 
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

rbnode_t mesh_state::node

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().

struct module_qstate mesh_state::s

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