ACE 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
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]

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 ()
 
virtual voidinit_acquire (size_t nbytes, size_t &rounded_bytes, int &first_time)
 Ask system for initial chunk of local memory.
 
virtual voidacquire (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 voidbase_addr () const
 
virtual void dump () 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

◆ OPTIONS

Constructor & Destructor Documentation

◆ ACE_Local_Memory_Pool()

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::~ACE_Local_Memory_Pool ( )
virtual

Member Function Documentation

◆ acquire()

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.

◆ base_addr()

void * ACE_Local_Memory_Pool::base_addr ( ) const
virtual

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

◆ dump()

void ACE_Local_Memory_Pool::dump ( ) const
virtual

Dump the state of an object.

◆ init_acquire()

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.

◆ protect() [1/2]

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.

◆ protect() [2/2]

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.

◆ release()

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

Instruct the memory pool to release all of its resources.

◆ remap()

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.

◆ round_up()

size_t ACE_Local_Memory_Pool::round_up ( size_t nbytes)
protectedvirtual

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

◆ seh_selector()

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.

◆ sync() [1/2]

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.

◆ sync() [2/2]

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_.

Member Data Documentation

◆ ACE_ALLOC_HOOK_DECLARE

ACE_Local_Memory_Pool::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

◆ allocated_chunks_

ACE_Unbounded_Set<char *> ACE_Local_Memory_Pool::allocated_chunks_
protected

List of memory that we have allocated.


The documentation for this class was generated from the following files: