Electroneum
mesh_state Struct Reference

#include <mesh.h>

Collaboration diagram for mesh_state:

Public Types

enum  mesh_list_select { mesh_no_list, mesh_forever_list, mesh_jostle_list }
 

Public Attributes

rbnode_type node
 
rbnode_type run_node
 
struct module_qstate s
 
struct mesh_replyreply_list
 
struct mesh_cbcb_list
 
rbtree_type super_set
 
rbtree_type sub_set
 
size_t num_activated
 
struct mesh_stateprev
 
struct mesh_statenext
 
enum mesh_state::mesh_list_select list_select
 
struct mesh_stateunique
 
uint8_t replies_sent
 

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.

Definition at line 156 of file mesh.h.

Member Enumeration Documentation

◆ mesh_list_select

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

Enumerator
mesh_no_list 
mesh_forever_list 
mesh_jostle_list 

Definition at line 182 of file mesh.h.

Member Data Documentation

◆ cb_list

struct mesh_cb* mesh_state::cb_list

the list of callbacks for the results

Definition at line 167 of file mesh.h.

◆ list_select

enum mesh_state::mesh_list_select mesh_state::list_select

◆ next

struct mesh_state* mesh_state::next

next in linked list for reply states

Definition at line 180 of file mesh.h.

◆ node

rbnode_type mesh_state::node

node in mesh_area all tree, key is this struct. Must be first.

Definition at line 158 of file mesh.h.

◆ num_activated

size_t mesh_state::num_activated

number of activations for the mesh state

Definition at line 175 of file mesh.h.

◆ prev

struct mesh_state* mesh_state::prev

previous in linked list for reply states

Definition at line 178 of file mesh.h.

◆ replies_sent

uint8_t mesh_state::replies_sent

true if replies have been sent out (at end for alignment)

Definition at line 188 of file mesh.h.

◆ reply_list

struct mesh_reply* mesh_state::reply_list

the list of replies to clients for the results

Definition at line 165 of file mesh.h.

◆ run_node

rbnode_type mesh_state::run_node

node in mesh_area runnable tree, key is this struct

Definition at line 160 of file mesh.h.

◆ s

struct module_qstate mesh_state::s

the query state. Note that the qinfo and query_flags may not change.

Definition at line 163 of file mesh.h.

◆ sub_set

rbtree_type mesh_state::sub_set

set of substates (that this state needs to continue) contains struct mesh_state_ref*

Definition at line 173 of file mesh.h.

◆ super_set

rbtree_type mesh_state::super_set

set of superstates (that want this state's result) contains struct mesh_state_ref*

Definition at line 170 of file mesh.h.

◆ unique

struct mesh_state* mesh_state::unique

pointer to this state for uniqueness or NULL

Definition at line 185 of file mesh.h.


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