Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 550bbe86d83a7870fdddc73c68e5d2b2 > files > 396

libunbound-devel-1.3.4-1mdv2010.0.i586.rpm

<!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: val_neg_data 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&nbsp;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;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&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>val_neg_data Struct Reference</h1><!-- doxytag: class="val_neg_data" -->Data element for aggressive negative caching.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;val_neg.h&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cd124fbcf62c8b728f185518222ddbf9"></a><!-- doxytag: member="val_neg_data::node" ref="cd124fbcf62c8b728f185518222ddbf9" args="" -->
<a class="el" href="structrbnode__t.html">rbnode_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#cd124fbcf62c8b728f185518222ddbf9">node</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">rbtree node element, key is this struct: the name <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfb1bae680e40dd2616dee9fb44021e9"></a><!-- doxytag: member="val_neg_data::name" ref="dfb1bae680e40dd2616dee9fb44021e9" args="" -->
uint8_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#dfb1bae680e40dd2616dee9fb44021e9">name</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">name; the key <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="107075fe4c3c2eebc5615730534853e0"></a><!-- doxytag: member="val_neg_data::len" ref="107075fe4c3c2eebc5615730534853e0" args="" -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#107075fe4c3c2eebc5615730534853e0">len</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">length of name <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe1f49d911ba92e294702b59df80873f"></a><!-- doxytag: member="val_neg_data::labs" ref="fe1f49d911ba92e294702b59df80873f" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#fe1f49d911ba92e294702b59df80873f">labs</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">labels in name <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c3c6146a354c173481a031d29c6336d"></a><!-- doxytag: member="val_neg_data::parent" ref="4c3c6146a354c173481a031d29c6336d" args="" -->
struct <a class="el" href="structval__neg__data.html">val_neg_data</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#4c3c6146a354c173481a031d29c6336d">parent</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">pointer to parent node in the negative cache <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#68c9981896377e9d8e1546fcddb097a6">count</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the number of elements, including this one and the ones whose parents (-parents) include this one, that are in use No elements have a count of zero, those are removed.  <a href="#68c9981896377e9d8e1546fcddb097a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b5abab4320215c0d645757b2aa334583"></a><!-- doxytag: member="val_neg_data::zone" ref="b5abab4320215c0d645757b2aa334583" args="" -->
struct <a class="el" href="structval__neg__zone.html">val_neg_zone</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#b5abab4320215c0d645757b2aa334583">zone</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the zone that this denial is part of <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77da95f3b3d9fffe5e3b2bb10ea2eba8"></a><!-- doxytag: member="val_neg_data::prev" ref="77da95f3b3d9fffe5e3b2bb10ea2eba8" args="" -->
struct <a class="el" href="structval__neg__data.html">val_neg_data</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#77da95f3b3d9fffe5e3b2bb10ea2eba8">prev</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">previous in LRU <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a588e904eadfbd560537b70244235bb5"></a><!-- doxytag: member="val_neg_data::next" ref="a588e904eadfbd560537b70244235bb5" args="" -->
struct <a class="el" href="structval__neg__data.html">val_neg_data</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#a588e904eadfbd560537b70244235bb5">next</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">next in LRU (next element was less recently used) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8e94c953f835e321775682859195371a"></a><!-- doxytag: member="val_neg_data::in_use" ref="8e94c953f835e321775682859195371a" args="" -->
uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structval__neg__data.html#8e94c953f835e321775682859195371a">in_use</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">if this element is in use, boolean <br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Data element for aggressive negative caching. 
<p>
The tree of these elements acts as an index onto the rrset cache. It shows the NSEC records that (may) exist and are (possibly) secure. The rbtree allows for logN search for a covering NSEC record. To make tree insertion and deletion logN too, all the parent (one label less than the name) data elements are also in the rbtree, with a usage count for every data element. There is no actual data stored in this data element, if it is in_use, then the data can (possibly) be found in the rrset cache. <hr><h2>Field Documentation</h2>
<a class="anchor" name="68c9981896377e9d8e1546fcddb097a6"></a><!-- doxytag: member="val_neg_data::count" ref="68c9981896377e9d8e1546fcddb097a6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="structval__neg__data.html#68c9981896377e9d8e1546fcddb097a6">val_neg_data::count</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
the number of elements, including this one and the ones whose parents (-parents) include this one, that are in use No elements have a count of zero, those are removed. 
<p>

<p>Referenced by <a class="el" href="unitneg_8c_source.html#l00392">check_data()</a>, <a class="el" href="val__neg_8c_source.html#l00218">neg_delete_data()</a>, <a class="el" href="val__neg_8c_source.html#l00739">neg_insert_data()</a>, <a class="el" href="unitneg_8c_source.html#l00053">print_neg_cache()</a>, <a class="el" href="unitneg_8c_source.html#l00240">remove_item()</a>, and <a class="el" href="unitneg_8c_source.html#l00318">sumtrees_inuse()</a>.</p>

</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li>validator/<a class="el" href="val__neg_8h.html">val_neg.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&nbsp;
<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>