Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > bdcd72668be70f58bf0aa7c2102b0734 > files > 137

lib64apr-util-devel-1.2.12-4mdv2008.1.x86_64.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>Apache Portable Runtime Utility Library: Resource List Routines</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.4 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>Resource List Routines<br>
<small>
[<a class="el" href="group___a_p_r___util.html">APR Utility Functions</a>]</small>
</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef struct <a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gb43e73c2fb526476d3e56d51f5aa214c"></a><!-- doxytag: member="APR_Util_RL::apr_reslist_constructor" ref="gb43e73c2fb526476d3e56d51f5aa214c" args=")(void **resource, void *params, apr_pool_t *pool)" -->
typedef apr_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_reslist_constructor</b> )(void **resource, void *params, apr_pool_t *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g60813240d319787f0430ae3171af838a"></a><!-- doxytag: member="APR_Util_RL::apr_reslist_destructor" ref="g60813240d319787f0430ae3171af838a" args=")(void *resource, void *params, apr_pool_t *pool)" -->
typedef apr_status_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>apr_reslist_destructor</b> )(void *resource, void *params, apr_pool_t *pool)</td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g608ebcddce542603a7f1d3cf51ae8d3c">apr_reslist_create</a> (<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> **reslist, int min, int smax, int hmax, apr_interval_time_t ttl, apr_reslist_constructor con, apr_reslist_destructor de, void *params, apr_pool_t *pool)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g103e0cbac6c5da7cb93d4e52799233cb">apr_reslist_destroy</a> (<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#gdfbb592b31ff9215f45d3280636e41d7">apr_reslist_acquire</a> (<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist, void **resource)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#gf65ca1701994a0323df639cdb4a8d8b2">apr_reslist_release</a> (<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist, void *resource)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#gfe06c964d04a568f2625fb5a9ba7bad6">apr_reslist_timeout_set</a> (<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist, apr_interval_time_t timeout)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">apr_status_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_p_r___util___r_l.html#g346c0604115a9659cf23ed0cc781f7a9">apr_reslist_invalidate</a> (<a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *reslist, void *resource)</td></tr>

</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="g670f6719dfeffe1037e063eaab7b82ac"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_t" ref="g670f6719dfeffe1037e063eaab7b82ac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> <a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Opaque resource list object 
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="gdfbb592b31ff9215f45d3280636e41d7"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_acquire" ref="gdfbb592b31ff9215f45d3280636e41d7" args="(apr_reslist_t *reslist, void **resource)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_reslist_acquire           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *&nbsp;</td>
          <td class="paramname"> <em>reslist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&nbsp;</td>
          <td class="paramname"> <em>resource</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrieve a resource from the list, creating a new one if necessary. If we have met our maximum number of resources, we will block until one becomes available. 
</div>
</div><p>
<a class="anchor" name="g608ebcddce542603a7f1d3cf51ae8d3c"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_create" ref="g608ebcddce542603a7f1d3cf51ae8d3c" args="(apr_reslist_t **reslist, int min, int smax, int hmax, apr_interval_time_t ttl, apr_reslist_constructor con, apr_reslist_destructor de, void *params, apr_pool_t *pool)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_reslist_create           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> **&nbsp;</td>
          <td class="paramname"> <em>reslist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>smax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>hmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_interval_time_t&nbsp;</td>
          <td class="paramname"> <em>ttl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_reslist_constructor&nbsp;</td>
          <td class="paramname"> <em>con</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_reslist_destructor&nbsp;</td>
          <td class="paramname"> <em>de</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_pool_t *&nbsp;</td>
          <td class="paramname"> <em>pool</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a new resource list with the following parameters: <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>An address where the pointer to the new resource list will be stored. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool to use for local storage and management </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>min</em>&nbsp;</td><td>Allowed minimum number of available resources. Zero creates new resources only when needed. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>smax</em>&nbsp;</td><td>Resources will be destroyed to meet this maximum restriction as they expire. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hmax</em>&nbsp;</td><td>Absolute maximum limit on the number of total resources. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ttl</em>&nbsp;</td><td>If non-zero, sets the maximum amount of time a resource may be available while exceeding the soft limit. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>con</em>&nbsp;</td><td>Constructor routine that is called to create a new resource. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>de</em>&nbsp;</td><td>Destructor routine that is called to destroy an expired resource. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Passed to constructor and deconstructor </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pool</em>&nbsp;</td><td>The pool from which to create this resoure list. Also the same pool that is passed to the constructor and destructor routines. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g103e0cbac6c5da7cb93d4e52799233cb"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_destroy" ref="g103e0cbac6c5da7cb93d4e52799233cb" args="(apr_reslist_t *reslist)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_reslist_destroy           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *&nbsp;</td>
          <td class="paramname"> <em>reslist</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destroy the given resource list and all resources controlled by this list. FIXME: Should this block until all resources become available, or maybe just destroy all the free ones, or maybe destroy them even though they might be in use by something else? Currently it will abort if there are resources that haven't been released, so there is an assumption that all resources have been released to the list before calling this function. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The reslist to destroy </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="g346c0604115a9659cf23ed0cc781f7a9"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_invalidate" ref="g346c0604115a9659cf23ed0cc781f7a9" args="(apr_reslist_t *reslist, void *resource)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_reslist_invalidate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *&nbsp;</td>
          <td class="paramname"> <em>reslist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>resource</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Invalidate a resource in the pool - e.g. a database connection that returns a "lost connection" error and can't be restored. Use this instead of apr_reslist_release if the resource is bad. 
</div>
</div><p>
<a class="anchor" name="gf65ca1701994a0323df639cdb4a8d8b2"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_release" ref="gf65ca1701994a0323df639cdb4a8d8b2" args="(apr_reslist_t *reslist, void *resource)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">apr_status_t apr_reslist_release           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *&nbsp;</td>
          <td class="paramname"> <em>reslist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>resource</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a resource back to the list of available resources. 
</div>
</div><p>
<a class="anchor" name="gfe06c964d04a568f2625fb5a9ba7bad6"></a><!-- doxytag: member="apr_reslist.h::apr_reslist_timeout_set" ref="gfe06c964d04a568f2625fb5a9ba7bad6" args="(apr_reslist_t *reslist, apr_interval_time_t timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void apr_reslist_timeout_set           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___a_p_r___util___r_l.html#g670f6719dfeffe1037e063eaab7b82ac">apr_reslist_t</a> *&nbsp;</td>
          <td class="paramname"> <em>reslist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">apr_interval_time_t&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the timeout the acquire will wait for a free resource when the maximum number of resources is exceeded. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>reslist</em>&nbsp;</td><td>The resource list. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>Timeout to wait. The zero waits forewer. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Thu Jan 24 02:22:55 2008 for Apache Portable Runtime Utility Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.4 </small></address>
</body>
</html>