ACE
6.1.6
|
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 |
|
virtual |
Destructor.
|
protected |
Constructor. Prevent this class from being instantiated.
|
inline |
request a buffer of size size. Return 0 if the <shm_malloc_> is not initialized.
|
protected |
Close down the share memory pool. Clean up the mmap file if we are the last one using it.
|
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.
|
virtual |
Finalizing the MEM_SAP object. This method doesn't invoke the <remove> method.
|
pure virtual |
Initialize the MEM_SAP object.
Implemented in ACE_MT_MEM_IO, and ACE_Reactive_MEM_IO.
|
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.
|
inline |
release a buffer pointed by buf. Return -1 if the <shm_malloc_> is not initialized.
|
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.
ACE_MEM_SAP::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
|
protected |
|
protected |
Data exchange channel.