<!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: worker 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>worker Struct Reference</h1><!-- doxytag: class="worker" -->Structure holding working information for unbound. <a href="#_details">More...</a> <p> <code>#include <worker.h></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">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#7bf240db40a51f73b4687841423982a6">thread_num</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the thread number (in <a class="el" href="structdaemon.html" title="Structure holding worker list.">daemon</a> array). <a href="#7bf240db40a51f73b4687841423982a6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7e38d97a21d46f5302fe26349e3478b"></a><!-- doxytag: member="worker::daemon" ref="a7e38d97a21d46f5302fe26349e3478b" args="" --> struct <a class="el" href="structdaemon.html">daemon</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#a7e38d97a21d46f5302fe26349e3478b">daemon</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">global shared <a class="el" href="structdaemon.html" title="Structure holding worker list.">daemon</a> structure <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce3ca04b5bcf3b1309af8653bb493801"></a><!-- doxytag: member="worker::thr_id" ref="ce3ca04b5bcf3b1309af8653bb493801" args="" --> ub_thread_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#ce3ca04b5bcf3b1309af8653bb493801">thr_id</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">thread id <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0154c9e84d7768c14cdac3837cd4a5a6"></a><!-- doxytag: member="worker::cmd" ref="0154c9e84d7768c14cdac3837cd4a5a6" args="" --> struct <a class="el" href="structtube.html">tube</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#0154c9e84d7768c14cdac3837cd4a5a6">cmd</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">pipe, for commands for this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e4e15e05aa60481fd5250c4ae662edad"></a><!-- doxytag: member="worker::base" ref="e4e15e05aa60481fd5250c4ae662edad" args="" --> struct <a class="el" href="structcomm__base.html">comm_base</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#e4e15e05aa60481fd5250c4ae662edad">base</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the event base this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> works with <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6ff4b011b8d6bcc7564c28dc8e2121e0"></a><!-- doxytag: member="worker::front" ref="6ff4b011b8d6bcc7564c28dc8e2121e0" args="" --> struct <a class="el" href="structlisten__dnsport.html">listen_dnsport</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#6ff4b011b8d6bcc7564c28dc8e2121e0">front</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the frontside listening interface where request events come in <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91ffe9d2667b620b57d77a30f12a8f64"></a><!-- doxytag: member="worker::back" ref="91ffe9d2667b620b57d77a30f12a8f64" args="" --> struct <a class="el" href="structoutside__network.html">outside_network</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#91ffe9d2667b620b57d77a30f12a8f64">back</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the backside outside network interface to the auth servers <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#2226cb2cd02b86b07fc6f2e9131f93ae">ports</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ports to be used by this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>. <a href="#2226cb2cd02b86b07fc6f2e9131f93ae"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="111c2f417fd541de1d19ba4017a92dbc"></a><!-- doxytag: member="worker::numports" ref="111c2f417fd541de1d19ba4017a92dbc" args="" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#111c2f417fd541de1d19ba4017a92dbc">numports</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">number of ports for this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38d8b7c243879b4fae7301d6db99ae9c"></a><!-- doxytag: member="worker::comsig" ref="38d8b7c243879b4fae7301d6db99ae9c" args="" --> struct <a class="el" href="structcomm__signal.html">comm_signal</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#38d8b7c243879b4fae7301d6db99ae9c">comsig</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">the signal handler <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structcomm__point.html">comm_point</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#68ab89fd24d03205723e52210ffdd568">cmd_com</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">commpoint to listen to commands. <a href="#68ab89fd24d03205723e52210ffdd568"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d7562eafe58b6edf269427ceb78ad9b"></a><!-- doxytag: member="worker::stat_timer" ref="4d7562eafe58b6edf269427ceb78ad9b" args="" --> struct <a class="el" href="structcomm__timer.html">comm_timer</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#4d7562eafe58b6edf269427ceb78ad9b">stat_timer</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">timer for statistics <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="04545514af3449f0e2f891889566c629"></a><!-- doxytag: member="worker::request_size" ref="04545514af3449f0e2f891889566c629" args="" --> size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#04545514af3449f0e2f891889566c629">request_size</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">number of requests that can be handled by this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a> <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structub__randstate.html">ub_randstate</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#feb53e6ce841ed525c17fdb210f0d3a1">rndstate</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">random() table for this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>. <a href="#feb53e6ce841ed525c17fdb210f0d3a1"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bfd1b8a955a3fb6fedfc14d8d7e0e53d"></a><!-- doxytag: member="worker::need_to_exit" ref="bfd1b8a955a3fb6fedfc14d8d7e0e53d" args="" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#bfd1b8a955a3fb6fedfc14d8d7e0e53d">need_to_exit</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">do we need to restart or quit (on signal) <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d032d5ee2a8f46d2bbe4898fe35d1b73"></a><!-- doxytag: member="worker::alloc" ref="d032d5ee2a8f46d2bbe4898fe35d1b73" args="" --> struct <a class="el" href="structalloc__cache.html">alloc_cache</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#d032d5ee2a8f46d2bbe4898fe35d1b73">alloc</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">allocation cache for this thread <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="456f8cae51b906a98931923065f41846"></a><!-- doxytag: member="worker::stats" ref="456f8cae51b906a98931923065f41846" args="" --> struct <a class="el" href="structserver__stats.html">server_stats</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#456f8cae51b906a98931923065f41846">stats</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">per thread statistics <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4651abab7349b29f4a19d4aba72e2e97"></a><!-- doxytag: member="worker::scratchpad" ref="4651abab7349b29f4a19d4aba72e2e97" args="" --> struct <a class="el" href="structregional.html">regional</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#4651abab7349b29f4a19d4aba72e2e97">scratchpad</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">thread scratch <a class="el" href="structregional.html" title="the regional* is the first block*.">regional</a> <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13e7f819abd0e286a95c11471a077db3"></a><!-- doxytag: member="worker::env" ref="13e7f819abd0e286a95c11471a077db3" args="" --> struct <a class="el" href="structmodule__env.html">module_env</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structworker.html#13e7f819abd0e286a95c11471a077db3">env</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">module environment passed to modules, changed for this thread <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Structure holding working information for unbound. <p> Holds globally visible information. <hr><h2>Field Documentation</h2> <a class="anchor" name="7bf240db40a51f73b4687841423982a6"></a><!-- doxytag: member="worker::thread_num" ref="7bf240db40a51f73b4687841423982a6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="structworker.html#7bf240db40a51f73b4687841423982a6">worker::thread_num</a> </td> </tr> </table> </div> <div class="memdoc"> <p> the thread number (in <a class="el" href="structdaemon.html" title="Structure holding worker list.">daemon</a> array). <p> First in struct for debug. <p>Referenced by <a class="el" href="remote_8c_source.html#l01429">do_dump_requestlist()</a>, <a class="el" href="daemon_8c_source.html#l00334">thread_start()</a>, <a class="el" href="worker_8c_source.html#l00944">worker_create()</a>, <a class="el" href="worker_8c_source.html#l01115">worker_delete()</a>, <a class="el" href="worker_8c_source.html#l00967">worker_init()</a>, and <a class="el" href="worker_8c_source.html#l00930">worker_stat_timer_cb()</a>.</p> </div> </div><p> <a class="anchor" name="2226cb2cd02b86b07fc6f2e9131f93ae"></a><!-- doxytag: member="worker::ports" ref="2226cb2cd02b86b07fc6f2e9131f93ae" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int* <a class="el" href="structworker.html#2226cb2cd02b86b07fc6f2e9131f93ae">worker::ports</a> </td> </tr> </table> </div> <div class="memdoc"> <p> ports to be used by this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>. <p> <p>Referenced by <a class="el" href="worker_8c_source.html#l00944">worker_create()</a>, <a class="el" href="worker_8c_source.html#l01115">worker_delete()</a>, and <a class="el" href="worker_8c_source.html#l00967">worker_init()</a>.</p> </div> </div><p> <a class="anchor" name="68ab89fd24d03205723e52210ffdd568"></a><!-- doxytag: member="worker::cmd_com" ref="68ab89fd24d03205723e52210ffdd568" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structcomm__point.html">comm_point</a>* <a class="el" href="structworker.html#68ab89fd24d03205723e52210ffdd568">worker::cmd_com</a><code> [read]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> commpoint to listen to commands. <p> </div> </div><p> <a class="anchor" name="feb53e6ce841ed525c17fdb210f0d3a1"></a><!-- doxytag: member="worker::rndstate" ref="feb53e6ce841ed525c17fdb210f0d3a1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structub__randstate.html">ub_randstate</a>* <a class="el" href="structworker.html#feb53e6ce841ed525c17fdb210f0d3a1">worker::rndstate</a><code> [read]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> random() table for this <a class="el" href="structworker.html" title="Structure holding working information for unbound.">worker</a>. <p> <p>Referenced by <a class="el" href="worker_8c_source.html#l01115">worker_delete()</a>, and <a class="el" href="worker_8c_source.html#l00967">worker_init()</a>.</p> </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>daemon/<a class="el" href="worker_8h.html">worker.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>