a00539.html

来自「opendds 1.2 最新版 面向分布式实时网络编程」· HTML 代码 · 共 470 行 · 第 1/2 页

HTML
470 行
字号
      </table>
</div>
<div class="memdoc">

<p>
Get a chunk of memory from free list cache, giving them <em>initial_value</em>. Note that <em>nbytes</em> is only checked to make sure that it's less or equal to <em>chunk_size</em>, and is otherwise ignored since <a class="el" href="a00539.html#6f48c0a0cfaa9e60f097186a7e64544d">calloc()</a> always returns a pointer to an item of <em>chunk_size</em>. 
</div>
</div><p>
<a class="anchor" name="32b1fafe848146c9953dd0a59a7588dc"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::free" ref="32b1fafe848146c9953dd0a59a7588dc" args="(void *ptr)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::free           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ptr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return a chunk of memory back to free list cache. 
<p>

</div>
</div><p>
<a class="anchor" name="11cd9c15d583543b6a017a878b9b7746"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::malloc" ref="11cd9c15d583543b6a017a878b9b7746" args="(size_t nbytes=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void* <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::malloc           </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>nbytes</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a chunk of memory from free list cache. Note that <em>nbytes</em> is only checked to make sure that it's less or equal to <em>chunk_size</em>, and is otherwise ignored since <a class="el" href="a00539.html#11cd9c15d583543b6a017a878b9b7746">malloc()</a> always returns a pointer to an item of <em>chunk_size</em> size. 
</div>
</div><p>
<a class="anchor" name="acb5f48e3adf89f2d90c97c833fdcb6c"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::pool_depth" ref="acb5f48e3adf89f2d90c97c833fdcb6c" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::pool_depth           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the number of chunks available in the cache. 
<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="a3a93abb94127d34b875e418b906ca6b"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::allocs_from_heap_" ref="a3a93abb94127d34b875e418b906ca6b" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#a3a93abb94127d34b875e418b906ca6b">allocs_from_heap_</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
number of allocations from the heap. 
<p>

</div>
</div><p>
<a class="anchor" name="b986a56e3377e23dcc0f80662fc3ffcb"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::allocs_from_pool_" ref="b986a56e3377e23dcc0f80662fc3ffcb" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#b986a56e3377e23dcc0f80662fc3ffcb">allocs_from_pool_</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
number of allocations from the pool. 
<p>

</div>
</div><p>
<a class="anchor" name="d5aa380b9971b8f5e6b2210f96b4ee95"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::chunk_size_" ref="d5aa380b9971b8f5e6b2210f96b4ee95" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">size_t <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#d5aa380b9971b8f5e6b2210f96b4ee95">chunk_size_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remember the size of our chunks. 
<p>

</div>
</div><p>
<a class="anchor" name="e531de9fd9bf064bb564c80ba9d4a3dc"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::free_list_" ref="e531de9fd9bf064bb564c80ba9d4a3dc" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">ACE_Locked_Free_List&lt;ACE_Cached_Mem_Pool_Node&lt;char&gt;, ACE_LOCK&gt; <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#e531de9fd9bf064bb564c80ba9d4a3dc">free_list_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Maintain a cached memory free list. We use <code>char</code> as template parameter, although sizeof(char) is usually less than sizeof(void*). Really important is that <em>chunk_size</em> must be greater or equal to sizeof(void*). 
</div>
</div><p>
<a class="anchor" name="94278006dcd9810ad8c84c5da1609cdc"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::frees_to_heap_" ref="94278006dcd9810ad8c84c5da1609cdc" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#94278006dcd9810ad8c84c5da1609cdc">frees_to_heap_</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
number of frees returned to the heap 
<p>

</div>
</div><p>
<a class="anchor" name="f8e4c56d445233a8f5a7d977218ef836"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::frees_to_pool_" ref="f8e4c56d445233a8f5a7d977218ef836" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#f8e4c56d445233a8f5a7d977218ef836">frees_to_pool_</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
number of frees returned to the pool 
<p>

</div>
</div><p>
<a class="anchor" name="843226caa913a3b7719cd3b117fa6137"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::last_" ref="843226caa913a3b7719cd3b117fa6137" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#843226caa913a3b7719cd3b117fa6137">last_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The end of the pool. 
<p>

</div>
</div><p>
<a class="anchor" name="0726b06150872763df70d8beb1e0f8cc"></a><!-- doxytag: member="OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow::pool_" ref="0726b06150872763df70d8beb1e0f8cc" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class ACE_LOCK&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>&lt; ACE_LOCK &gt;::<a class="el" href="a00539.html#0726b06150872763df70d8beb1e0f8cc">pool_</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remember how we allocate the memory in the first place so we can clear things up later. 
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00882.html">Dynamic_Cached_Allocator_With_Overflow_T.h</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Fri Nov 7 09:37:35 2008 for OpenDDS by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?