ACE
6.1.0
|
Defines the methods of shared memory management for shared memory transport. More...
#include <MEM_SAP.h>
Public Types | |
typedef ACE_Malloc_T < ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex, ACE_PI_Control_Block > | MALLOC_TYPE |
typedef ACE_MMAP_Memory_Pool_Options | MALLOC_OPTIONS |
Public Member Functions | |
virtual | ~ACE_MEM_SAP (void) |
Destructor. | |
virtual int | init (ACE_HANDLE handle, const ACE_TCHAR *name, MALLOC_OPTIONS *options)=0 |
virtual int | fini () |
virtual ssize_t | recv_buf (ACE_MEM_SAP_Node *&buf, int flags, const ACE_Time_Value *timeout)=0 |
virtual ssize_t | send_buf (ACE_MEM_SAP_Node *buf, int flags, const ACE_Time_Value *timeout)=0 |
ACE_MEM_SAP_Node * | acquire_buffer (const ssize_t size) |
int | release_buffer (ACE_MEM_SAP_Node *buf) |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Protected Member Functions | |
int | create_shm_malloc (const ACE_TCHAR *name, MALLOC_OPTIONS *options) |
int | close_shm_malloc (void) |
ACE_MEM_SAP (void) | |
Constructor. Prevent this class from being instantiated. | |
Protected Attributes | |
ACE_HANDLE | handle_ |
MALLOC_TYPE * | shm_malloc_ |
Data exchange channel. |
Defines the methods of shared memory management for shared memory transport.
typedef ACE_Malloc_T<ACE_MMAP_MEMORY_POOL, ACE_Process_Mutex, ACE_PI_Control_Block> ACE_MEM_SAP::MALLOC_TYPE |
ACE_MEM_SAP::~ACE_MEM_SAP | ( | void | ) | [virtual] |
Destructor.
ACE_MEM_SAP::ACE_MEM_SAP | ( | void | ) | [protected] |
Constructor. Prevent this class from being instantiated.
ACE_MEM_SAP_Node * ACE_MEM_SAP::acquire_buffer | ( | const ssize_t | size | ) | [inline] |
request a buffer of size size. Return 0 if the <shm_malloc_> is not initialized.
int ACE_MEM_SAP::close_shm_malloc | ( | void | ) | [protected] |
Close down the share memory pool. Clean up the mmap file if we are the last one using it.
int ACE_MEM_SAP::create_shm_malloc | ( | const ACE_TCHAR * | name, |
MALLOC_OPTIONS * | options | ||
) | [protected] |
Create a new shm_malloc object. Return 0 if succeed and -1 otherwise. This method should only be called from an acceptor class that wants to create a new memory pool for inter process communication.
void ACE_MEM_SAP::dump | ( | void | ) | const |
Dump the state of an object.
int ACE_MEM_SAP::fini | ( | void | ) | [virtual] |
Finalizing the MEM_SAP object. This method doesn't invoke the <remove> method.
virtual int ACE_MEM_SAP::init | ( | ACE_HANDLE | handle, |
const ACE_TCHAR * | name, | ||
MALLOC_OPTIONS * | options | ||
) | [pure virtual] |
Initialize the MEM_SAP object.
Implemented in ACE_MT_MEM_IO, and ACE_Reactive_MEM_IO.
virtual ssize_t ACE_MEM_SAP::recv_buf | ( | ACE_MEM_SAP_Node *& | buf, |
int | flags, | ||
const ACE_Time_Value * | timeout | ||
) | [pure virtual] |
Fetch location of next available data into <recv_buffer_>. As this operation read the address of the data off the socket using ACE::recv, timeout only applies to ACE::recv.
Implemented in ACE_MT_MEM_IO, and ACE_Reactive_MEM_IO.
int ACE_MEM_SAP::release_buffer | ( | ACE_MEM_SAP_Node * | buf | ) | [inline] |
release a buffer pointed by buf. Return -1 if the <shm_malloc_> is not initialized.
virtual ssize_t ACE_MEM_SAP::send_buf | ( | ACE_MEM_SAP_Node * | buf, |
int | flags, | ||
const ACE_Time_Value * | timeout | ||
) | [pure virtual] |
Wait to to timeout amount of time to send buf. If <send> times out a -1 is returned with errno
== ETIME. If it succeeds the number of bytes sent is returned.
Implemented in ACE_MT_MEM_IO, and ACE_Reactive_MEM_IO.
Declare the dynamic allocation hooks.
ACE_HANDLE ACE_MEM_SAP::handle_ [protected] |
MALLOC_TYPE* ACE_MEM_SAP::shm_malloc_ [protected] |
Data exchange channel.