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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::free </td>
<td>(</td>
<td class="paramtype">void * </td>
<td class="paramname"> <em>ptr</em> </td>
<td> ) </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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">void* <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::malloc </td>
<td>(</td>
<td class="paramtype">size_t </td>
<td class="paramname"> <em>nbytes</em> = <code>0</code> </td>
<td> ) </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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::pool_depth </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"> </td>
<td> ) </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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">ACE_Locked_Free_List<ACE_Cached_Mem_Pool_Node<char>, ACE_LOCK> <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">u_long <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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<class ACE_LOCK> </div>
<table class="memname">
<tr>
<td class="memname">char* <a class="el" href="a00539.html">OpenDDS::DCPS::Dynamic_Cached_Allocator_With_Overflow</a>< ACE_LOCK >::<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
<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 + -
显示快捷键?