ACE_Local_Memory_Pool Class Reference

Make a memory pool that is based on C++ new/delete. This is useful for integrating existing components that use new/delete into the ACE Malloc scheme... More...

#include <Local_Memory_Pool.h>

Collaboration diagram for ACE_Local_Memory_Pool:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
ACE_Local_Memory_Pool_Options 
OPTIONS

Public Member Functions

 ACE_Local_Memory_Pool (const ACE_TCHAR *backing_store_name=0, const OPTIONS *options=0)
 Initialize the pool.
virtual ~ACE_Local_Memory_Pool (void)
virtual void * init_acquire (size_t nbytes, size_t &rounded_bytes, int &first_time)
 Ask system for initial chunk of local memory.
virtual void * acquire (size_t nbytes, size_t &rounded_bytes)
virtual int release (int destroy=1)
 Instruct the memory pool to release all of its resources.
virtual int sync (ssize_t len=-1, int flags=MS_SYNC)
virtual int sync (void *addr, size_t len, int flags=MS_SYNC)
virtual int protect (ssize_t len=-1, int prot=PROT_RDWR)
virtual int protect (void *addr, size_t len, int prot=PROT_RDWR)
virtual int seh_selector (void *)
virtual int remap (void *addr)
virtual void * base_addr (void) const
virtual void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Protected Member Functions

virtual size_t round_up (size_t nbytes)

Protected Attributes

ACE_Unbounded_Set< char * > allocated_chunks_
 List of memory that we have allocated.

Detailed Description

Make a memory pool that is based on C++ new/delete. This is useful for integrating existing components that use new/delete into the ACE Malloc scheme...


Member Typedef Documentation


Constructor & Destructor Documentation

ACE_Local_Memory_Pool::ACE_Local_Memory_Pool ( const ACE_TCHAR backing_store_name = 0,
const OPTIONS options = 0 
)

Initialize the pool.

ACE_Local_Memory_Pool::~ACE_Local_Memory_Pool ( void   )  [virtual]

Member Function Documentation

void * ACE_Local_Memory_Pool::acquire ( size_t  nbytes,
size_t &  rounded_bytes 
) [virtual]

Acquire at least nbytes from the memory pool. rounded_bytes is the actual number of bytes allocated.

void * ACE_Local_Memory_Pool::base_addr ( void   )  const [virtual]

Return the base address of this memory pool, 0 if base_addr never changes.

void ACE_Local_Memory_Pool::dump ( void   )  const [virtual]

Dump the state of an object.

void * ACE_Local_Memory_Pool::init_acquire ( size_t  nbytes,
size_t &  rounded_bytes,
int &  first_time 
) [virtual]

Ask system for initial chunk of local memory.

int ACE_Local_Memory_Pool::protect ( void *  addr,
size_t  len,
int  prot = PROT_RDWR 
) [virtual]

Change the protection of the pages of the mapped region to prot starting at addr up to len bytes.

int ACE_Local_Memory_Pool::protect ( ssize_t  len = -1,
int  prot = PROT_RDWR 
) [virtual]

Change the protection of the pages of the mapped region to prot starting at <this->base_addr_> up to len bytes. If len == -1 then change protection of all pages in the mapped region.

int ACE_Local_Memory_Pool::release ( int  destroy = 1  )  [virtual]

Instruct the memory pool to release all of its resources.

int ACE_Local_Memory_Pool::remap ( void *  addr  )  [virtual]

Try to extend the virtual address space so that addr is now covered by the address mapping. Always returns 0 since we can't remap a local memory pool.

size_t ACE_Local_Memory_Pool::round_up ( size_t  nbytes  )  [protected, virtual]

Implement the algorithm for rounding up the request to an appropriate chunksize.

int ACE_Local_Memory_Pool::seh_selector ( void *   )  [virtual]

Win32 Structural exception selector. The return value decides how to handle memory pool related structural exceptions. Returns 1, 0, or , -1.

int ACE_Local_Memory_Pool::sync ( void *  addr,
size_t  len,
int  flags = MS_SYNC 
) [virtual]

Sync len bytes of the memory region to the backing store starting at add_.

int ACE_Local_Memory_Pool::sync ( ssize_t  len = -1,
int  flags = MS_SYNC 
) [virtual]

Sync len bytes of the memory region to the backing store starting at <this->base_addr_>. If len == -1 then sync the whole region.


Member Data Documentation

Declare the dynamic allocation hooks.

List of memory that we have allocated.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by  doxygen 1.6.2