Shared memory wrapper based on System V shared memory. More...
#include <Shared_Memory_SV.h>
Public Types | |
enum | { ACE_CREATE = IPC_CREAT, ACE_OPEN = 0 } |
Public Member Functions | |
ACE_Shared_Memory_SV (void) | |
ACE_Shared_Memory_SV (key_t id, size_t length, int create=ACE_Shared_Memory_SV::ACE_OPEN, int perms=ACE_DEFAULT_FILE_PERMS, void *addr=0, int flags=0) | |
int | open (key_t id, size_t length, int create=ACE_Shared_Memory_SV::ACE_OPEN, int perms=ACE_DEFAULT_FILE_PERMS, void *addr=0, int flags=0) |
virtual int | close (void) |
Close down the shared memory segment. | |
virtual int | remove (void) |
Remove the underlying shared memory segment. | |
virtual void * | malloc (size_t=0) |
Create a new chuck of memory containing size bytes. | |
virtual int | free (void *p) |
Free a chuck of memory allocated by <ACE_Shared_Memory_SV::malloc>. | |
virtual size_t | get_segment_size (void) const |
Return the size of the shared memory segment. | |
virtual ACE_HANDLE | get_id (void) const |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Attributes | |
ACE_SV_Shared_Memory | shared_memory_ |
Shared memory wrapper based on System V shared memory.
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.
Definition at line 37 of file Shared_Memory_SV.h.
anonymous enum |
Definition at line 40 of file Shared_Memory_SV.h.
{ ACE_CREATE = IPC_CREAT, ACE_OPEN = 0 };
ACE_Shared_Memory_SV::ACE_Shared_Memory_SV | ( | void | ) |
Definition at line 25 of file Shared_Memory_SV.inl.
{ ACE_TRACE ("ACE_Shared_Memory_SV::ACE_Shared_Memory_SV"); }
ACE_Shared_Memory_SV::ACE_Shared_Memory_SV | ( | key_t | id, | |
size_t | length, | |||
int | create = ACE_Shared_Memory_SV::ACE_OPEN , |
|||
int | perms = ACE_DEFAULT_FILE_PERMS , |
|||
void * | addr = 0 , |
|||
int | flags = 0 | |||
) |
Definition at line 27 of file Shared_Memory_SV.cpp.
: shared_memory_ (id, length, create, perms, addr, flags) { ACE_TRACE ("ACE_Shared_Memory_SV::ACE_Shared_Memory_SV"); }
int ACE_Shared_Memory_SV::close | ( | void | ) | [virtual] |
Close down the shared memory segment.
Implements ACE_Shared_Memory.
Definition at line 61 of file Shared_Memory_SV.cpp.
{ ACE_TRACE ("ACE_Shared_Memory_SV::close"); return shared_memory_.detach (); }
void ACE_Shared_Memory_SV::dump | ( | void | ) | const |
Dump the state of an object.
int ACE_Shared_Memory_SV::free | ( | void * | p | ) | [virtual] |
Free a chuck of memory allocated by <ACE_Shared_Memory_SV::malloc>.
Implements ACE_Shared_Memory.
Definition at line 82 of file Shared_Memory_SV.cpp.
{ ACE_TRACE ("ACE_Shared_Memory_SV::free"); return p != 0; }
ACE_HANDLE ACE_Shared_Memory_SV::get_id | ( | void | ) | const [virtual] |
Return the ID of the shared memory segment (i.e., a System V shared memory internal id).
Implements ACE_Shared_Memory.
Definition at line 75 of file Shared_Memory_SV.cpp.
{ ACE_TRACE ("ACE_Shared_Memory_SV::get_id"); return this->shared_memory_.get_id (); }
size_t ACE_Shared_Memory_SV::get_segment_size | ( | void | ) | const [virtual] |
Return the size of the shared memory segment.
Implements ACE_Shared_Memory.
Definition at line 41 of file Shared_Memory_SV.cpp.
{ ACE_TRACE ("ACE_Shared_Memory_SV::get_segment_size"); // This cast is ok since the 'open' method for this class allows only // an 'int' size. Therefore, this case should not lose information. return this->shared_memory_.get_segment_size (); }
void * ACE_Shared_Memory_SV::malloc | ( | size_t | = 0 |
) | [virtual] |
Create a new chuck of memory containing size bytes.
Implements ACE_Shared_Memory.
Definition at line 68 of file Shared_Memory_SV.cpp.
{ ACE_TRACE ("ACE_Shared_Memory_SV::malloc"); return this->shared_memory_.get_segment_ptr (); }
int ACE_Shared_Memory_SV::open | ( | key_t | id, | |
size_t | length, | |||
int | create = ACE_Shared_Memory_SV::ACE_OPEN , |
|||
int | perms = ACE_DEFAULT_FILE_PERMS , |
|||
void * | addr = 0 , |
|||
int | flags = 0 | |||
) |
Definition at line 10 of file Shared_Memory_SV.inl.
{ ACE_TRACE ("ACE_Shared_Memory_SV::open"); return shared_memory_.open_and_attach (id, length, create, perms, addr, flags); }
int ACE_Shared_Memory_SV::remove | ( | void | ) | [virtual] |
Remove the underlying shared memory segment.
Implements ACE_Shared_Memory.
Definition at line 52 of file Shared_Memory_SV.cpp.
{ ACE_TRACE ("ACE_Shared_Memory_SV::remove"); return shared_memory_.remove (); }
Declare the dynamic allocation hooks.
Definition at line 86 of file Shared_Memory_SV.h.
This version is implemented with System V shared memory segments.
Definition at line 91 of file Shared_Memory_SV.h.