Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MEM_IO.h File Reference

#include "ace/SOCK.h"
#include "ace/MEM_SAP.h"
#include "ace/Memory_Pool.h"
#include "ace/Message_Block.h"
#include "ace/Process_Semaphore.h"
#include "ace/Process_Mutex.h"
#include "ace/MEM_IO.inl"

Include dependency graph for MEM_IO.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Classes

class  ACE_Reactive_MEM_IO
class  ACE_MT_MEM_IO
struct  ACE_MT_MEM_IO::MQ_Struct
class  ACE_MT_MEM_IO::Simple_Queue
struct  ACE_MT_MEM_IO::Channel
class  ACE_MEM_IO
 Defines the methods for the ACE shared memeory wrapper I/O routines (e.g., send/recv). The shared memory transport uses ACE_SOCK_* class to implement the signaling mechanism so we can easily use the new mechanism with the Reactor pattern (which uses select under the hood.) ACE_MEM_Acceptor and ACE_MEM_Connector are used to establish connections. When a connection is established, ACE_MEM_Acceptor creates the MMAP file for data exchange and sends the location of the file (complete path name) to ACE_MEM_Connector thru the socket. ACE_MEM_Connector then reads the location of the file off the socket and opens up the same MMAP file. ACE_MEM_Stream at each side then contains a reference to the ACE_Mallo object using the same MMAP file. When sending information using methods provided in this class, ACE_MEM_IO requests a chunk of memory from the MALLOC_TYPE object, copy the data into the shared memory and send the memory offset (from the start of the ACE_Malloc) across the socket. This action also servers as a signal to the other end. The receiving side then reverses the procedures and copies the information into user buffer. More...

Detailed Description

Id
MEM_IO.h,v 4.21 2004/06/16 07:57:21 jwillemsen Exp

Author:
Nanbor Wang <nanbor@cs.wustl.edu>

Generated on Fri Dec 31 14:00:49 2004 for ACE by  doxygen 1.3.9.1