#include <mesh.h>
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_reply * | reply_list |
the list of replies to clients for the results | |
struct mesh_cb * | cb_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 |
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.
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(), and mesh_state_create().
struct module_qstate mesh_state::s [read] |
the query state.
Note that the qinfo and query_flags may not change.
Referenced by mesh_area_find(), mesh_attach_sub(), mesh_continue(), mesh_do_callback(), mesh_get_mem(), mesh_log_list(), mesh_new_callback(), mesh_new_client(), mesh_query_done(), mesh_run(), mesh_send_reply(), mesh_state_add_cb(), mesh_state_add_reply(), mesh_state_attachment(), mesh_state_cleanup(), mesh_state_compare(), mesh_state_create(), mesh_state_delete(), and mesh_walk_supers().