Sophie

Sophie

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

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: testcode/unitslabhash.c File 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><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><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="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_aae0f736e7b956edab2d753def1ee5b5.html">testcode</a>
  </div>
</div>
<div class="contents">
<h1>unitslabhash.c File Reference</h1>Tests the locking LRU keeping hash table implementation.  
<a href="#_details">More...</a>
<p>
<code>#include &quot;config.h&quot;</code><br>
<code>#include &quot;<a class="el" href="unitmain_8h.html">testcode/unitmain.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="log_8h.html">util/log.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="slabhash_8h.html">util/storage/slabhash.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structslab__test__thr.html">slab_test_thr</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">structure to threaded test the lru hash table  <a href="structslab__test__thr.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="97990174d14ce63b2f7da205679fbb8b"></a><!-- doxytag: member="unitslabhash.c::HASHTESTMAX" ref="97990174d14ce63b2f7da205679fbb8b" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#97990174d14ce63b2f7da205679fbb8b">HASHTESTMAX</a>&nbsp;&nbsp;&nbsp;32</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">number of hash test max <br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="94b25d5e6837b0445d4e0709eec97a5a"></a><!-- doxytag: member="unitslabhash.c::testkey_t" ref="94b25d5e6837b0445d4e0709eec97a5a" args="" -->
typedef struct <a class="el" href="structslabhash__testkey.html">slabhash_testkey</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#94b25d5e6837b0445d4e0709eec97a5a">testkey_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">use this type for the <a class="el" href="structslabhash.html" title="Hash table formed from several smaller ones.">slabhash</a> test key <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4efe2cde776a1ddc478183878df0fd1f"></a><!-- doxytag: member="unitslabhash.c::testdata_t" ref="4efe2cde776a1ddc478183878df0fd1f" args="" -->
typedef struct <a class="el" href="structslabhash__testdata.html">slabhash_testdata</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#4efe2cde776a1ddc478183878df0fd1f">testdata_t</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">use this type for the <a class="el" href="structslabhash.html" title="Hash table formed from several smaller ones.">slabhash</a> test data <br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5753a4ab2a193e359e1674824b8dc666"></a><!-- doxytag: member="unitslabhash.c::delkey" ref="5753a4ab2a193e359e1674824b8dc666" args="(struct slabhash_testkey *k)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#5753a4ab2a193e359e1674824b8dc666">delkey</a> (struct <a class="el" href="structslabhash__testkey.html">slabhash_testkey</a> *k)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">delete key <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4425a36ba48038a8d225447590735a74"></a><!-- doxytag: member="unitslabhash.c::myhash" ref="4425a36ba48038a8d225447590735a74" args="(int id)" -->
static <a class="el" href="lruhash_8h.html#050c9ffcb4f555022a735896cdee3795">hashvalue_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#4425a36ba48038a8d225447590735a74">myhash</a> (int id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">hash func, very bad to improve collisions, both high and low bits <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9118d8eac3e17427dc5ff1af82b4992"></a><!-- doxytag: member="unitslabhash.c::newkey" ref="a9118d8eac3e17427dc5ff1af82b4992" args="(int id)" -->
static <a class="el" href="structslabhash__testkey.html">testkey_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#a9118d8eac3e17427dc5ff1af82b4992">newkey</a> (int id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">allocate new key, fill in hash <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a84187911d8378572a3bc02360c8689"></a><!-- doxytag: member="unitslabhash.c::newdata" ref="9a84187911d8378572a3bc02360c8689" args="(int val)" -->
static <a class="el" href="structslabhash__testdata.html">testdata_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#9a84187911d8378572a3bc02360c8689">newdata</a> (int val)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">new data el <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57cedad770d32051ddd8ce24c58c4df8"></a><!-- doxytag: member="unitslabhash.c::test_short_table" ref="57cedad770d32051ddd8ce24c58c4df8" args="(struct slabhash *table)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#57cedad770d32051ddd8ce24c58c4df8">test_short_table</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test hashtable using short sequence <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b17ab9e15e9ed01638e212b9fcfd783"></a><!-- doxytag: member="unitslabhash.c::testadd" ref="2b17ab9e15e9ed01638e212b9fcfd783" args="(struct slabhash *table, testdata_t *ref[])" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#2b17ab9e15e9ed01638e212b9fcfd783">testadd</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table, <a class="el" href="structslabhash__testdata.html">testdata_t</a> *ref[])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test adding a random element <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d5b6e4cf6cbdc218d86b8f2462b9bd1d"></a><!-- doxytag: member="unitslabhash.c::testremove" ref="d5b6e4cf6cbdc218d86b8f2462b9bd1d" args="(struct slabhash *table, testdata_t *ref[])" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#d5b6e4cf6cbdc218d86b8f2462b9bd1d">testremove</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table, <a class="el" href="structslabhash__testdata.html">testdata_t</a> *ref[])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test adding a random element <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="baeed6ce393de1747d3160c2c3babe72"></a><!-- doxytag: member="unitslabhash.c::testlookup" ref="baeed6ce393de1747d3160c2c3babe72" args="(struct slabhash *table, testdata_t *ref[])" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#baeed6ce393de1747d3160c2c3babe72">testlookup</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table, <a class="el" href="structslabhash__testdata.html">testdata_t</a> *ref[])</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test adding a random element <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd4a1b85415ec9a064b8da598cc965b5"></a><!-- doxytag: member="unitslabhash.c::check_lru_table" ref="bd4a1b85415ec9a064b8da598cc965b5" args="(struct lruhash *table)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#bd4a1b85415ec9a064b8da598cc965b5">check_lru_table</a> (struct <a class="el" href="structlruhash.html">lruhash</a> *table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check integrity of hash table <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9cf0e1a0c8bef693ca7f87c6db26f387"></a><!-- doxytag: member="unitslabhash.c::check_table" ref="9cf0e1a0c8bef693ca7f87c6db26f387" args="(struct slabhash *table)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#9cf0e1a0c8bef693ca7f87c6db26f387">check_table</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">check integrity of hash table <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16de4698c299642419baf3fbb9c7a898"></a><!-- doxytag: member="unitslabhash.c::testadd_unlim" ref="16de4698c299642419baf3fbb9c7a898" args="(struct slabhash *table, testdata_t **ref)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#16de4698c299642419baf3fbb9c7a898">testadd_unlim</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table, <a class="el" href="structslabhash__testdata.html">testdata_t</a> **ref)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test adding a random element (unlimited range) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7177ef3846ccee5d6a7fedc61e1a52a9"></a><!-- doxytag: member="unitslabhash.c::testremove_unlim" ref="7177ef3846ccee5d6a7fedc61e1a52a9" args="(struct slabhash *table, testdata_t **ref)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#7177ef3846ccee5d6a7fedc61e1a52a9">testremove_unlim</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table, <a class="el" href="structslabhash__testdata.html">testdata_t</a> **ref)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test adding a random element (unlimited range) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="199e344a467f2dff233fb91247497781"></a><!-- doxytag: member="unitslabhash.c::testlookup_unlim" ref="199e344a467f2dff233fb91247497781" args="(struct slabhash *table, testdata_t **ref)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#199e344a467f2dff233fb91247497781">testlookup_unlim</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table, <a class="el" href="structslabhash__testdata.html">testdata_t</a> **ref)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test adding a random element (unlimited range) <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b6ce05b826bd0de4b1dfea73f688ff8a"></a><!-- doxytag: member="unitslabhash.c::test_long_table" ref="b6ce05b826bd0de4b1dfea73f688ff8a" args="(struct slabhash *table)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#b6ce05b826bd0de4b1dfea73f688ff8a">test_long_table</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test with long sequence of adds, removes and updates, and lookups <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="83973523dbc9508ed119d950e19d76a8"></a><!-- doxytag: member="unitslabhash.c::test_thr_main" ref="83973523dbc9508ed119d950e19d76a8" args="(void *arg)" -->
static void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#83973523dbc9508ed119d950e19d76a8">test_thr_main</a> (void *arg)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">main routine for threaded hash table test <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab2f3a0eff92ca307863055daf7af7a4"></a><!-- doxytag: member="unitslabhash.c::test_threaded_table" ref="ab2f3a0eff92ca307863055daf7af7a4" args="(struct slabhash *table)" -->
static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#ab2f3a0eff92ca307863055daf7af7a4">test_threaded_table</a> (struct <a class="el" href="structslabhash.html">slabhash</a> *table)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">test hash table access by multiple threads <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f5b9d9c81df176ff18fdc992629aaff"></a><!-- doxytag: member="unitslabhash.c::slabhash_test" ref="4f5b9d9c81df176ff18fdc992629aaff" args="()" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unitslabhash_8c.html#4f5b9d9c81df176ff18fdc992629aaff">slabhash_test</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">unit test slabhashtable implementation <br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
Tests the locking LRU keeping hash table implementation. 
<p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Oct 13 06:46:31 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>