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_type node
 node in mesh_area all tree, key is this struct. More...
 
rbnode_type 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_type super_set
 set of superstates (that want this state's result) contains struct mesh_state_ref*
 
rbtree_type 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
 
struct mesh_stateunique
 pointer to this state for uniqueness or NULL
 
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

rbnode_type mesh_state::node

node in mesh_area all tree, key is this struct.

Must be first.

Referenced by mesh_area_find(), mesh_new_callback(), and mesh_state_create().

◆ s


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