ACE_Shared_Memory_MM Class Reference

Shared memory wrapper based on MMAP. More...

#include <Shared_Memory_MM.h>

Inheritance diagram for ACE_Shared_Memory_MM:

Inheritance graph
[legend]
Collaboration diagram for ACE_Shared_Memory_MM:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ACE_Shared_Memory_MM (void)
 Default constructor.
 ACE_Shared_Memory_MM (ACE_HANDLE handle, size_t length=static_cast< size_t >(-1), int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, char *addr=0, ACE_OFF_T pos=0)
 Constructor.
 ACE_Shared_Memory_MM (const ACE_TCHAR *file_name, size_t length=static_cast< size_t >(-1), int flags=O_RDWR|O_CREAT, int mode=ACE_DEFAULT_FILE_PERMS, int prot=PROT_RDWR, int share=ACE_MAP_SHARED, char *addr=0, ACE_OFF_T pos=0)
 Constructor.
int open (ACE_HANDLE handle, size_t length=static_cast< size_t >(-1), int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, char *addr=0, ACE_OFF_T pos=0)
 Open method.
int open (const ACE_TCHAR *file_name, size_t length=static_cast< size_t >(-1), int flags=O_RDWR|O_CREAT, int mode=ACE_DEFAULT_FILE_PERMS, int prot=PROT_RDWR, int share=ACE_MAP_SHARED, char *addr=0, ACE_OFF_T pos=0)
 Open method.
const ACE_TCHARfilename (void) const
 Return the name of file that is mapped (if any).
virtual int close (void)
 Close down the shared memory segment.
virtual int remove (void)
 Remove the shared memory segment and the underlying file.
virtual void * malloc (size_t size=0)
 Create a new chuck of memory containing size bytes.
virtual int free (void *p)
virtual size_t get_segment_size (void) const
 Return the size of the shared memory segment.
virtual ACE_HANDLE get_id (void) const
 Return the ID of the shared memory segment (i.e., an ACE_HANDLE).
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Private Attributes

ACE_Mem_Map shared_memory_
 This version is implemented with memory-mapped files.


Detailed Description

Shared memory wrapper based on MMAP.

This class provides a very simple-minded shared memory manager. We strongly recommend that you do NOT use this class. Instead, please use ACE_Malloc, which has much more powerful capabilities.


Constructor & Destructor Documentation

ACE_Shared_Memory_MM::ACE_Shared_Memory_MM ( void   ) 

Default constructor.

ACE_Shared_Memory_MM::ACE_Shared_Memory_MM ( ACE_HANDLE  handle,
size_t  length = static_cast<size_t> (-1),
int  prot = PROT_RDWR,
int  share = ACE_MAP_PRIVATE,
char *  addr = 0,
ACE_OFF_T  pos = 0 
)

Constructor.

ACE_Shared_Memory_MM::ACE_Shared_Memory_MM ( const ACE_TCHAR file_name,
size_t  length = static_cast<size_t> (-1),
int  flags = O_RDWR | O_CREAT,
int  mode = ACE_DEFAULT_FILE_PERMS,
int  prot = PROT_RDWR,
int  share = ACE_MAP_SHARED,
char *  addr = 0,
ACE_OFF_T  pos = 0 
)

Constructor.


Member Function Documentation

ACE_INLINE int ACE_Shared_Memory_MM::open ( ACE_HANDLE  handle,
size_t  length = static_cast<size_t> (-1),
int  prot = PROT_RDWR,
int  share = ACE_MAP_PRIVATE,
char *  addr = 0,
ACE_OFF_T  pos = 0 
)

Open method.

ACE_INLINE int ACE_Shared_Memory_MM::open ( const ACE_TCHAR file_name,
size_t  length = static_cast<size_t> (-1),
int  flags = O_RDWR | O_CREAT,
int  mode = ACE_DEFAULT_FILE_PERMS,
int  prot = PROT_RDWR,
int  share = ACE_MAP_SHARED,
char *  addr = 0,
ACE_OFF_T  pos = 0 
)

Open method.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE const ACE_TCHAR * ACE_Shared_Memory_MM::filename ( void   )  const

Return the name of file that is mapped (if any).

int ACE_Shared_Memory_MM::close ( void   )  [virtual]

Close down the shared memory segment.

Implements ACE_Shared_Memory.

int ACE_Shared_Memory_MM::remove ( void   )  [virtual]

Remove the shared memory segment and the underlying file.

Implements ACE_Shared_Memory.

void * ACE_Shared_Memory_MM::malloc ( size_t  size = 0  )  [virtual]

Create a new chuck of memory containing size bytes.

Implements ACE_Shared_Memory.

int ACE_Shared_Memory_MM::free ( void *  p  )  [virtual]

Free a chuck of memory allocated by <ACE_Shared_Memory_MM::malloc>.

Implements ACE_Shared_Memory.

size_t ACE_Shared_Memory_MM::get_segment_size ( void   )  const [virtual]

Return the size of the shared memory segment.

Implements ACE_Shared_Memory.

ACE_HANDLE ACE_Shared_Memory_MM::get_id ( void   )  const [virtual]

Return the ID of the shared memory segment (i.e., an ACE_HANDLE).

Implements ACE_Shared_Memory.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Shared_Memory_MM::dump ( void   )  const

Dump the state of an object.


Member Data Documentation

ACE_Shared_Memory_MM::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

ACE_Mem_Map ACE_Shared_Memory_MM::shared_memory_ [private]

This version is implemented with memory-mapped files.


The documentation for this class was generated from the following files:
Generated on Fri Dec 14 03:27:11 2007 for ACE by  doxygen 1.5.3-6