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 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 | ) |
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.
| virtual int ACE_MEM_SAP::fini | ( | ) | [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_Reactive_MEM_IO, and ACE_MT_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_Reactive_MEM_IO, and ACE_MT_MEM_IO.
| int ACE_MEM_SAP::release_buffer | ( | ACE_MEM_SAP_Node * | buf | ) |
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_Reactive_MEM_IO, and ACE_MT_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.
1.6.1