ACE  6.1.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MEM_IO.h File Reference
#include "ace/SOCK.h"
#include "ace/MEM_SAP.h"
#include "ace/Message_Block.h"
#include "ace/Process_Semaphore.h"
#include "ace/Process_Mutex.h"
#include "ace/MEM_IO.inl"


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

MEM_IO.h 80826 2008-03-04 14:51:23Z wotte
Nanbor Wang nanbo.nosp@m.r@cs.nosp@m..wust.nosp@m.l.ed.nosp@m.u