#include <Shared_Memory_SV.h>
Inheritance diagram for ACE_Shared_Memory_SV:
Public Types | |
ACE_CREATE = IPC_CREAT | |
ACE_OPEN = 0 | |
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_ |
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.
00041 { 00042 ACE_CREATE = IPC_CREAT, 00043 ACE_OPEN = 0 00044 };
ACE_INLINE ACE_Shared_Memory_SV::ACE_Shared_Memory_SV | ( | void | ) |
Definition at line 25 of file Shared_Memory_SV.inl.
References ACE_TRACE.
00026 { 00027 ACE_TRACE ("ACE_Shared_Memory_SV::ACE_Shared_Memory_SV"); 00028 }
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.
References ACE_TRACE.
00033 : shared_memory_ (id, length, create, perms, addr, flags) 00034 { 00035 ACE_TRACE ("ACE_Shared_Memory_SV::ACE_Shared_Memory_SV"); 00036 }
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.
References ACE_TRACE, ACE_SV_Shared_Memory::detach(), and shared_memory_.
00062 { 00063 ACE_TRACE ("ACE_Shared_Memory_SV::close"); 00064 return shared_memory_.detach (); 00065 }
ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Shared_Memory_SV::dump | ( | void | ) | const |
Dump the state of an object.
Definition at line 20 of file Shared_Memory_SV.cpp.
References ACE_TRACE.
00021 { 00022 #if defined (ACE_HAS_DUMP) 00023 ACE_TRACE ("ACE_Shared_Memory_SV::dump"); 00024 #endif /* ACE_HAS_DUMP */ 00025 }
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.
References ACE_TRACE.
00083 { 00084 ACE_TRACE ("ACE_Shared_Memory_SV::free"); 00085 return p != 0; 00086 }
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.
References ACE_TRACE, ACE_SV_Shared_Memory::get_id(), and shared_memory_.
00076 { 00077 ACE_TRACE ("ACE_Shared_Memory_SV::get_id"); 00078 return this->shared_memory_.get_id (); 00079 }
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.
References ACE_TRACE, ACE_SV_Shared_Memory::get_segment_size(), and shared_memory_.
00042 { 00043 ACE_TRACE ("ACE_Shared_Memory_SV::get_segment_size"); 00044 // This cast is ok since the 'open' method for this class allows only 00045 // an 'int' size. Therefore, this case should not lose information. 00046 return this->shared_memory_.get_segment_size (); 00047 }
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.
References ACE_TRACE, ACE_SV_Shared_Memory::get_segment_ptr(), and shared_memory_.
00069 { 00070 ACE_TRACE ("ACE_Shared_Memory_SV::malloc"); 00071 return this->shared_memory_.get_segment_ptr (); 00072 }
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE 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.
References ACE_TRACE, ACE_SV_Shared_Memory::open_and_attach(), and shared_memory_.
00016 { 00017 ACE_TRACE ("ACE_Shared_Memory_SV::open"); 00018 return shared_memory_.open_and_attach (id, length, create, 00019 perms, addr, flags); 00020 }
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.
References ACE_TRACE, ACE_SV_Shared_Memory::remove(), and shared_memory_.
00053 { 00054 ACE_TRACE ("ACE_Shared_Memory_SV::remove"); 00055 return shared_memory_.remove (); 00056 }
This version is implemented with System V shared memory segments.
Definition at line 91 of file Shared_Memory_SV.h.
Referenced by close(), get_id(), get_segment_size(), malloc(), open(), and remove().