#include <BasicQueueLinkAllocator_T.h>
Collaboration diagram for OpenDDS::DCPS::BasicQueueLinkAllocator< T >:

Public Member Functions | |
| BasicQueueLinkAllocator (unsigned chunk_size, unsigned initial_chunks) | |
| Constructor. | |
| virtual | ~BasicQueueLinkAllocator () |
| Virtual Destructor. | |
| void * | malloc (size_t nbytes=sizeof(LinkType)) |
| malloc implementation. | |
| virtual void * | calloc (size_t nbytes=sizeof(LinkType), char initial_value= '\0') |
| calloc implementation. | |
| virtual void * | calloc (size_t n_elem, size_t elem_size, char initial_value= '\0') |
| This interface not supported. | |
| void | free (void *ptr) |
| free implementation. | |
Private Types | |
| typedef BasicQueueLink< T > | LinkType |
| typedef BasicQueueLinkChunk< T > | ChunkType |
| typedef ACE_Cached_Mem_Pool_Node< LinkType > | NodeType |
| typedef ACE_Locked_Free_List< NodeType, ACE_Null_Mutex > | FreeListType |
Private Member Functions | |
| void | grow () |
| Grow by another chunk. | |
Private Attributes | |
| size_t | chunk_size_ |
| Number of links to allocate for each chunk. | |
| ChunkType * | head_chunk_ |
| The first chunk. | |
| ChunkType * | tail_chunk_ |
| The last chunk. | |
| FreeListType | free_list_ |
| Maintain a cached memory free list. | |
typedef BasicQueueLinkChunk<T> OpenDDS::DCPS::BasicQueueLinkAllocator< T >::ChunkType [private] |
typedef ACE_Locked_Free_List<NodeType, ACE_Null_Mutex> OpenDDS::DCPS::BasicQueueLinkAllocator< T >::FreeListType [private] |
typedef BasicQueueLink<T> OpenDDS::DCPS::BasicQueueLinkAllocator< T >::LinkType [private] |
typedef ACE_Cached_Mem_Pool_Node<LinkType > OpenDDS::DCPS::BasicQueueLinkAllocator< T >::NodeType [private] |
| OpenDDS::DCPS::BasicQueueLinkAllocator< T >::BasicQueueLinkAllocator | ( | unsigned | chunk_size, | |
| unsigned | initial_chunks | |||
| ) | [inline] |
Constructor.
| virtual OpenDDS::DCPS::BasicQueueLinkAllocator< T >::~BasicQueueLinkAllocator | ( | ) | [inline, virtual] |
Virtual Destructor.
| virtual void* OpenDDS::DCPS::BasicQueueLinkAllocator< T >::calloc | ( | size_t | n_elem, | |
| size_t | elem_size, | |||
| char | initial_value = '\0' | |||
| ) | [inline, virtual] |
This interface not supported.
| virtual void* OpenDDS::DCPS::BasicQueueLinkAllocator< T >::calloc | ( | size_t | nbytes = sizeof(LinkType), |
|
| char | initial_value = '\0' | |||
| ) | [inline, virtual] |
calloc implementation.
| void OpenDDS::DCPS::BasicQueueLinkAllocator< T >::free | ( | void * | ptr | ) | [inline] |
free implementation.
| void OpenDDS::DCPS::BasicQueueLinkAllocator< T >::grow | ( | ) | [inline, private] |
Grow by another chunk.
| void* OpenDDS::DCPS::BasicQueueLinkAllocator< T >::malloc | ( | size_t | nbytes = sizeof(LinkType) |
) | [inline] |
malloc implementation.
size_t OpenDDS::DCPS::BasicQueueLinkAllocator< T >::chunk_size_ [private] |
Number of links to allocate for each chunk.
FreeListType OpenDDS::DCPS::BasicQueueLinkAllocator< T >::free_list_ [private] |
Maintain a cached memory free list.
ChunkType* OpenDDS::DCPS::BasicQueueLinkAllocator< T >::head_chunk_ [private] |
The first chunk.
ChunkType* OpenDDS::DCPS::BasicQueueLinkAllocator< T >::tail_chunk_ [private] |
The last chunk.
1.4.7