Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# 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:

[legend]
Collaboration diagram for ACE_Shared_Memory_MM:

[legend]
List of all members.

## Public Member Functions
| ACE_Shared_Memory_MM (void)
| Default constructor.
| ACE_Shared_Memory_MM (ACE_HANDLE handle, int length=-1, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, char *addr=0, off_t pos=0)
| Constructor.
| ACE_Shared_Memory_MM (const ACE_TCHAR *file_name, int len=-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, off_t pos=0)
| Constructor.
int | open (ACE_HANDLE handle, int length=-1, int prot=PROT_RDWR, int share=ACE_MAP_PRIVATE, char *addr=0, off_t pos=0)
| Open method.
int | open (const ACE_TCHAR *file_name, int len=-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, off_t pos=0)
| Open method.
const ACE_TCHAR * | filename (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 int | 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. For more a powerful memory allocator please see <ace_malloc>.

## 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,
|  | int | length = `-1`,
|  | int | prot = `PROT_RDWR`,
|  | int | share = `ACE_MAP_PRIVATE`,
|  | char * | addr = `0`,
|  | off_t | pos = `0`
| ) |

| Constructor.

ACE_Shared_Memory_MM::ACE_Shared_Memory_MM | ( | const ACE_TCHAR * | file_name,
|  | int | len = `-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`,
|  | off_t | pos = `0`
| ) |

| Constructor.

## Member Function Documentation

int ACE_Shared_Memory_MM::close | ( | void |  | ) | `[virtual]`

| Close down the shared memory segment. Implements ACE_Shared_Memory.

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Shared_Memory_MM::dump | ( | void |  | ) | const

| Dump the state of an object.

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::free | ( | void * | p | ) | `[virtual]`

| Free a chuck of memory allocated by <ACE_Shared_Memory_MM::malloc>. 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.

int ACE_Shared_Memory_MM::get_segment_size | ( | void |  | ) | const`[virtual]`

| Return the size of the shared memory segment. 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.

ACE_INLINE int ACE_Shared_Memory_MM::open | ( | const ACE_TCHAR * | file_name,
|  | int | len = `-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`,
|  | off_t | pos = `0`
| ) |

| Open method.

ACE_INLINE int ACE_Shared_Memory_MM::open | ( | ACE_HANDLE | handle,
|  | int | length = `-1`,
|  | int | prot = `PROT_RDWR`,
|  | int | share = `ACE_MAP_PRIVATE`,
|  | char * | addr = `0`,
|  | off_t | pos = `0`
| ) |

| Open method.

int ACE_Shared_Memory_MM::remove | ( | void |  | ) | `[virtual]`

| Remove the shared memory segment and the underlying file. Implements ACE_Shared_Memory.

## 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:

- Shared_Memory_MM.h
- Shared_Memory_MM.cpp
- Shared_Memory_MM.inl