Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > f149f58f4a75af135bdb24f5dfe94165 > files > 470

libdap-doc-3.9.3-3mdv2010.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>libdap++: libdap::AlarmHandler Class 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="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespacelibdap.html">libdap</a>::<a class="el" href="classlibdap_1_1AlarmHandler.html">AlarmHandler</a>
  </div>
</div>
<div class="contents">
<h1>libdap::AlarmHandler Class Reference</h1><!-- doxytag: class="libdap::AlarmHandler" --><!-- doxytag: inherits="libdap::EventHandler" --><code>#include &lt;<a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for libdap::AlarmHandler:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1AlarmHandler__inherit__graph.png" border="0" usemap="#libdap_1_1AlarmHandler__inherit__map" alt="Inheritance graph"></center>
<map name="libdap_1_1AlarmHandler__inherit__map">
<area shape="rect" id="node2" href="classlibdap_1_1EventHandler.html" title="{libdap::EventHandler\n||+ handle_signal()\l+ ~EventHandler()\l}" alt="" coords="5,6,227,98"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for libdap::AlarmHandler:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1AlarmHandler__coll__graph.png" border="0" usemap="#libdap_1_1AlarmHandler__coll__map" alt="Collaboration graph"></center>
<map name="libdap_1_1AlarmHandler__coll__map">
<area shape="rect" id="node2" href="classlibdap_1_1EventHandler.html" title="{libdap::EventHandler\n||+ handle_signal()\l+ ~EventHandler()\l}" alt="" coords="5,6,227,98"></map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classlibdap_1_1AlarmHandler-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AlarmHandler.html#3047870a12b2ab315b41f591c2f7e321">AlarmHandler</a> (ostream &amp;out)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AlarmHandler.html#35ed5f5a237b749d58e9f5a14eb096fa">AlarmHandler</a> (FILE *s)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AlarmHandler.html#be52f8939c85b0285c2a8cb48b970a9b">handle_signal</a> (int signum)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classlibdap_1_1AlarmHandler.html#fc0167a0ce74afa5a014bba867660815">~AlarmHandler</a> ()</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Handle the time out alarm. When an OPeNDAP server runs until the time out alarm is triggered, this class provides the concrete implementation of <a class="el" href="classlibdap_1_1EventHandler.html#9cb4e0ec28ce8562067c1a9103f93559">EventHandler::handle_signal()</a>.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classlibdap_1_1EventHandler.html">EventHandler</a> <p>
<a class="el" href="classlibdap_1_1SignalHandler.html">SignalHandler</a> </dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>James Gallagher &lt;<a href="mailto:jgallagher@opendap.org">jgallagher@opendap.org</a>&gt; </dd></dl>

<p>Definition at line <a class="el" href="AlarmHandler_8h_source.html#l00045">45</a> of file <a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a>.</p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="35ed5f5a237b749d58e9f5a14eb096fa"></a><!-- doxytag: member="libdap::AlarmHandler::AlarmHandler" ref="35ed5f5a237b749d58e9f5a14eb096fa" args="(FILE *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::AlarmHandler::AlarmHandler           </td>
          <td>(</td>
          <td class="paramtype">FILE *&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store information to be used by the handler. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>Write to this stream. </td></tr>
  </table>
</dl>

<p>Definition at line <a class="el" href="AlarmHandler_8h_source.html#l00066">66</a> of file <a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3047870a12b2ab315b41f591c2f7e321"></a><!-- doxytag: member="libdap::AlarmHandler::AlarmHandler" ref="3047870a12b2ab315b41f591c2f7e321" args="(ostream &amp;out)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">libdap::AlarmHandler::AlarmHandler           </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>out</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="AlarmHandler_8h_source.html#l00069">69</a> of file <a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc0167a0ce74afa5a014bba867660815"></a><!-- doxytag: member="libdap::AlarmHandler::~AlarmHandler" ref="fc0167a0ce74afa5a014bba867660815" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual libdap::AlarmHandler::~AlarmHandler           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="AlarmHandler_8h_source.html#l00076">76</a> of file <a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="be52f8939c85b0285c2a8cb48b970a9b"></a><!-- doxytag: member="libdap::AlarmHandler::handle_signal" ref="be52f8939c85b0285c2a8cb48b970a9b" args="(int signum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void libdap::AlarmHandler::handle_signal           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>signum</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Handle an alarm signal. When one of our servers gets an alarm, that means it has hit its time out. We need to dump two CRLF pairs down the stream and then send an <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object explaining that a timeout has been reached.<p>
Because this is a signal handler, it should call only reentrant system services, functions, et cetera. Generally that eliminates stdio functions but I'm using them anyway. This handler never returns to the code that was running when the alarm signal was raised.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>signum</em>&nbsp;</td><td>We know it is SIGALRM; here as a check </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Never returns; calls exit after sending the <a class="el" href="classlibdap_1_1Error.html" title="A class for error processing.">Error</a> object. </dd></dl>

<p>Implements <a class="el" href="classlibdap_1_1EventHandler.html#9cb4e0ec28ce8562067c1a9103f93559">libdap::EventHandler</a>.</p>

<p>Definition at line <a class="el" href="AlarmHandler_8h_source.html#l00096">96</a> of file <a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a>.</p>

<p>References <a class="el" href="Error_8cc_source.html#l00201">libdap::Error::print()</a>.</p>

<p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dynsection">
<p><center><img src="classlibdap_1_1AlarmHandler_be52f8939c85b0285c2a8cb48b970a9b_cgraph.png" border="0" usemap="#classlibdap_1_1AlarmHandler_be52f8939c85b0285c2a8cb48b970a9b_cgraph_map" alt=""></center>
<map name="classlibdap_1_1AlarmHandler_be52f8939c85b0285c2a8cb48b970a9b_cgraph_map">
<area shape="rect" id="node3" href="classlibdap_1_1Error.html#f2185ebeb4236e2902abda772a2b5a49" title="libdap::Error::print" alt="" coords="427,5,648,32"><area shape="rect" id="node5" href="classlibdap_1_1Error.html#5624b1cca8a752a24d76a50e092fd61e" title="Is the Error object valid?" alt="" coords="696,5,888,32"></map>
</div>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="AlarmHandler_8h_source.html">AlarmHandler.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 19:58:42 2009 for libdap++ 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>