<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>unbound: mesh_state Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>mesh_state Struct Reference</h1><!-- doxytag: class="mesh_state" -->A mesh query state Unique per qname, qtype, qclass (from the qstate). <a href="#_details">More...</a> <p> <code>#include <mesh.h></code> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#e2c8b8ca385985520e9e120a39ad65cf">mesh_list_select</a> { <b>mesh_no_list</b>, <b>mesh_forever_list</b>, <b>mesh_jostle_list</b> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if this state is in the forever list, jostle list, or neither <br></td></tr> <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structrbnode__t.html">rbnode_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#38517467ce793bde1c06ba5cb61c6e45">node</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">node in <a class="el" href="structmesh__area.html" title="Mesh of query states.">mesh_area</a> all tree, key is this struct. <a href="#38517467ce793bde1c06ba5cb61c6e45"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58d9850e969310792e9fc96fde7ca457"></a><!-- doxytag: member="mesh_state::run_node" ref="58d9850e969310792e9fc96fde7ca457" args="" --> <a class="el" href="structrbnode__t.html">rbnode_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#58d9850e969310792e9fc96fde7ca457">run_node</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">node in <a class="el" href="structmesh__area.html" title="Mesh of query states.">mesh_area</a> runnable tree, key is this struct <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structmodule__qstate.html">module_qstate</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#34ecf2578586eae91d438f041d8da015">s</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the query state. <a href="#34ecf2578586eae91d438f041d8da015"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8bcd165c7cd6d891f88070e20fb170ea"></a><!-- doxytag: member="mesh_state::reply_list" ref="8bcd165c7cd6d891f88070e20fb170ea" args="" --> struct <a class="el" href="structmesh__reply.html">mesh_reply</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#8bcd165c7cd6d891f88070e20fb170ea">reply_list</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the list of replies to clients for the results <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="52d72d033d16706a9289907473527155"></a><!-- doxytag: member="mesh_state::cb_list" ref="52d72d033d16706a9289907473527155" args="" --> struct <a class="el" href="structmesh__cb.html">mesh_cb</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#52d72d033d16706a9289907473527155">cb_list</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the list of callbacks for the results <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7c4a42f5a135bddf69fc9892a719004"></a><!-- doxytag: member="mesh_state::super_set" ref="a7c4a42f5a135bddf69fc9892a719004" args="" --> <a class="el" href="structrbtree__t.html">rbtree_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#a7c4a42f5a135bddf69fc9892a719004">super_set</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set of superstates (that want this state's result) contains struct mesh_state_ref* <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1f8a3a6c518e05575434afbe1d145c4"></a><!-- doxytag: member="mesh_state::sub_set" ref="a1f8a3a6c518e05575434afbe1d145c4" args="" --> <a class="el" href="structrbtree__t.html">rbtree_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#a1f8a3a6c518e05575434afbe1d145c4">sub_set</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">set of substates (that this state needs to continue) contains struct mesh_state_ref* <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7517909381f2a792ff4317b06daeae4b"></a><!-- doxytag: member="mesh_state::num_activated" ref="7517909381f2a792ff4317b06daeae4b" args="" --> size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#7517909381f2a792ff4317b06daeae4b">num_activated</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">number of activations for the mesh state <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f469b85c90a463fda622aa814221a055"></a><!-- doxytag: member="mesh_state::prev" ref="f469b85c90a463fda622aa814221a055" args="" --> struct <a class="el" href="structmesh__state.html">mesh_state</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#f469b85c90a463fda622aa814221a055">prev</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">previous in linked list for reply states <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0ecfb77288aecfcbe1c23b471a7fe8b1"></a><!-- doxytag: member="mesh_state::next" ref="0ecfb77288aecfcbe1c23b471a7fe8b1" args="" --> struct <a class="el" href="structmesh__state.html">mesh_state</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#0ecfb77288aecfcbe1c23b471a7fe8b1">next</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">next in linked list for reply states <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b37e83ad67595e1a4b9ba91ff4f85203"></a><!-- doxytag: member="mesh_state::list_select" ref="b37e83ad67595e1a4b9ba91ff4f85203" args="" --> enum <a class="el" href="structmesh__state.html#e2c8b8ca385985520e9e120a39ad65cf">mesh_state::mesh_list_select</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#b37e83ad67595e1a4b9ba91ff4f85203">list_select</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">if this state is in the forever list, jostle list, or neither <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a780b43e67b3c5424d6fcbd82b27ca5f"></a><!-- doxytag: member="mesh_state::replies_sent" ref="a780b43e67b3c5424d6fcbd82b27ca5f" args="" --> uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structmesh__state.html#a780b43e67b3c5424d6fcbd82b27ca5f">replies_sent</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">true if replies have been sent out (at end for alignment) <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A mesh query state Unique per qname, qtype, qclass (from the qstate). <p> And RD / CD flag; in case a client turns it off. And priming queries are different from ordinary queries (because of hints).<p> 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. <hr><h2>Field Documentation</h2> <a class="anchor" name="38517467ce793bde1c06ba5cb61c6e45"></a><!-- doxytag: member="mesh_state::node" ref="38517467ce793bde1c06ba5cb61c6e45" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structrbnode__t.html">rbnode_t</a> <a class="el" href="structmesh__state.html#38517467ce793bde1c06ba5cb61c6e45">mesh_state::node</a> </td> </tr> </table> </div> <div class="memdoc"> <p> node in <a class="el" href="structmesh__area.html" title="Mesh of query states.">mesh_area</a> all tree, key is this struct. <p> Must be first. <p>Referenced by <a class="el" href="mesh_8c_source.html#l00769">mesh_area_find()</a>, <a class="el" href="mesh_8c_source.html#l00548">mesh_attach_sub()</a>, <a class="el" href="mesh_8c_source.html#l00344">mesh_new_callback()</a>, <a class="el" href="mesh_8c_source.html#l00268">mesh_new_client()</a>, and <a class="el" href="mesh_8c_source.html#l00405">mesh_state_create()</a>.</p> </div> </div><p> <a class="anchor" name="34ecf2578586eae91d438f041d8da015"></a><!-- doxytag: member="mesh_state::s" ref="34ecf2578586eae91d438f041d8da015" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structmodule__qstate.html">module_qstate</a> <a class="el" href="structmesh__state.html#34ecf2578586eae91d438f041d8da015">mesh_state::s</a><code> [read]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> the query state. <p> Note that the qinfo and query_flags may not change. <p>Referenced by <a class="el" href="remote_8c_source.html#l01429">do_dump_requestlist()</a>, <a class="el" href="remote_8c_source.html#l01376">get_mesh_status()</a>, <a class="el" href="mesh_8c_source.html#l00769">mesh_area_find()</a>, <a class="el" href="mesh_8c_source.html#l00548">mesh_attach_sub()</a>, <a class="el" href="mesh_8c_source.html#l00843">mesh_continue()</a>, <a class="el" href="mesh_8c_source.html#l00191">mesh_delete_helper()</a>, <a class="el" href="mesh_8c_source.html#l00614">mesh_do_callback()</a>, <a class="el" href="mesh_8c_source.html#l00984">mesh_get_mem()</a>, <a class="el" href="mesh_8c_source.html#l00923">mesh_log_list()</a>, <a class="el" href="mesh_8c_source.html#l00234">mesh_make_new_space()</a>, <a class="el" href="mesh_8c_source.html#l00344">mesh_new_callback()</a>, <a class="el" href="mesh_8c_source.html#l00268">mesh_new_client()</a>, <a class="el" href="mesh_8c_source.html#l00737">mesh_query_done()</a>, <a class="el" href="mesh_8c_source.html#l00886">mesh_run()</a>, <a class="el" href="mesh_8c_source.html#l00662">mesh_send_reply()</a>, <a class="el" href="mesh_8c_source.html#l00784">mesh_state_add_cb()</a>, <a class="el" href="mesh_8c_source.html#l00805">mesh_state_add_reply()</a>, <a class="el" href="mesh_8c_source.html#l00583">mesh_state_attachment()</a>, <a class="el" href="mesh_8c_source.html#l00459">mesh_state_cleanup()</a>, <a class="el" href="mesh_8c_source.html#l00124">mesh_state_compare()</a>, <a class="el" href="mesh_8c_source.html#l00405">mesh_state_create()</a>, <a class="el" href="mesh_8c_source.html#l00491">mesh_state_delete()</a>, and <a class="el" href="mesh_8c_source.html#l00754">mesh_walk_supers()</a>.</p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>services/<a class="el" href="mesh_8h.html">mesh.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 13 06:46:34 2009 for unbound by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>