Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_POSIX_Asynch_Operation Class Reference

This class implements <ACE_Asynch_Operation> for all implementations of Proactor (AIOCB, SIG, SUN) Specific future implementations can derive from this class. More...

#include <POSIX_Asynch_IO.h>

Inheritance diagram for ACE_POSIX_Asynch_Operation:

Inheritance graph
[legend]
Collaboration diagram for ACE_POSIX_Asynch_Operation:

Collaboration graph
[legend]
List of all members.

Public Methods

int open (ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor=0)
 Initializes the factory with information which will be used with each asynchronous call. More...

int cancel (void)
 Check the documentation for <ACE_Asynch_Operation::cancel>. More...

ACE_Proactorproactor (void) const
 Return the underlying proactor. More...

ACE_POSIX_AIOCB_Proactorposix_proactor (void) const
 Return the underlying Proactor implementation. More...


Protected Methods

 ACE_POSIX_Asynch_Operation (ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor)
 Contructor. More...

virtual ~ACE_POSIX_Asynch_Operation (void)
 Destructor. More...

virtual int register_and_start_aio (ACE_POSIX_Asynch_Result *result, int op)
 This is the method which does the real work to start aio and should be used instead of shared_read/shared_write <op> means operation : 0 - read , 1 - write. More...


Protected Attributes

ACE_POSIX_AIOCB_Proactorposix_aiocb_proactor_
 It is easy to get this specific implementation proactor here, since it is the one that creates the correct POSIX_Asynch_* objects. More...

ACE_Proactorproactor_
 Proactor that this Asynch IO will be registered with. More...

ACE_Handlerhandler_
 Handler that will receive the callback. More...

ACE_HANDLE handle_
 I/O handle used for reading. More...


Detailed Description

This class implements <ACE_Asynch_Operation> for all implementations of Proactor (AIOCB, SIG, SUN) Specific future implementations can derive from this class.


Constructor & Destructor Documentation

ACE_POSIX_Asynch_Operation::ACE_POSIX_Asynch_Operation ACE_POSIX_AIOCB_Proactor   posix_aiocb_proactor [protected]
 

Contructor.

ACE_POSIX_Asynch_Operation::~ACE_POSIX_Asynch_Operation void    [protected, virtual]
 

Destructor.


Member Function Documentation

int ACE_POSIX_Asynch_Operation::cancel void    [virtual]
 

Check the documentation for <ACE_Asynch_Operation::cancel>.

Reimplemented from ACE_Asynch_Operation_Impl.

Reimplemented in ACE_POSIX_Asynch_Read_Stream, ACE_POSIX_Asynch_Write_Stream, ACE_POSIX_Asynch_Read_File, ACE_POSIX_Asynch_Write_File, ACE_POSIX_Asynch_Accept, ACE_POSIX_Asynch_Connect, ACE_POSIX_Asynch_Transmit_File, ACE_POSIX_Asynch_Read_Dgram, and ACE_POSIX_Asynch_Write_Dgram.

int ACE_POSIX_Asynch_Operation::open ACE_Handler   handler,
ACE_HANDLE    handle,
const void *    completion_key,
ACE_Proactor   proactor = 0
[virtual]
 

Initializes the factory with information which will be used with each asynchronous call.

If (<handle> == ACE_INVALID_HANDLE), <ACE_Handler::handle> will be called on the <handler> to get the correct handle. No need for the Proactor since the sub classes will know the correct implementation Proactor class, since this Operation class itself was created by the correct implementation Proactor class.

Reimplemented from ACE_Asynch_Operation_Impl.

Reimplemented in ACE_POSIX_Asynch_Read_Stream, ACE_POSIX_Asynch_Write_Stream, ACE_POSIX_Asynch_Read_File, ACE_POSIX_Asynch_Write_File, ACE_POSIX_Asynch_Accept, ACE_POSIX_Asynch_Connect, ACE_POSIX_Asynch_Transmit_File, ACE_POSIX_Asynch_Read_Dgram, and ACE_POSIX_Asynch_Write_Dgram.

ACE_POSIX_AIOCB_Proactor * ACE_POSIX_Asynch_Operation::posix_proactor void    const
 

Return the underlying Proactor implementation.

ACE_Proactor * ACE_POSIX_Asynch_Operation::proactor void    const [virtual]
 

Return the underlying proactor.

Reimplemented from ACE_Asynch_Operation_Impl.

Reimplemented in ACE_POSIX_Asynch_Read_Stream, ACE_POSIX_Asynch_Write_Stream, ACE_POSIX_Asynch_Read_File, ACE_POSIX_Asynch_Write_File, ACE_POSIX_Asynch_Accept, ACE_POSIX_Asynch_Connect, ACE_POSIX_Asynch_Transmit_File, ACE_POSIX_Asynch_Read_Dgram, and ACE_POSIX_Asynch_Write_Dgram.

int ACE_POSIX_Asynch_Operation::register_and_start_aio ACE_POSIX_Asynch_Result   result,
int    op
[protected, virtual]
 

This is the method which does the real work to start aio and should be used instead of shared_read/shared_write <op> means operation : 0 - read , 1 - write.


Member Data Documentation

ACE_HANDLE ACE_POSIX_Asynch_Operation::handle_ [protected]
 

I/O handle used for reading.

ACE_Handler* ACE_POSIX_Asynch_Operation::handler_ [protected]
 

Handler that will receive the callback.

ACE_POSIX_AIOCB_Proactor* ACE_POSIX_Asynch_Operation::posix_aiocb_proactor_ [protected]
 

It is easy to get this specific implementation proactor here, since it is the one that creates the correct POSIX_Asynch_* objects.

We can use this to get to the implementation proactor directly.

ACE_Proactor* ACE_POSIX_Asynch_Operation::proactor_ [protected]
 

Proactor that this Asynch IO will be registered with.


The documentation for this class was generated from the following files:
Generated on Tue Aug 20 15:25:01 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001