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