# Asynch_IO.h File Reference

`#include "ace/ACE_export.h"`
`#include "ace/Synch_Traits.h"`
`#include "ace/Thread_Mutex.h"`
`#include "ace/Refcounted_Auto_Ptr.h"`
`#include "ace/os_include/os_signal.h"`
`#include "ace/os_include/sys/os_socket.h"`
`#include "ace/os_include/sys/os_types.h"`

Include dependency graph for Asynch_IO.h:

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

## Classes

class | ACE_Asynch_Result
| An interface base class which allows users access to common information related to an asynchronous operation. More...
class | ACE_Asynch_Operation
| This is an interface base class for all asynch operations. The resposiblility of this class is to forward all methods to its delegation/implementation class, e.g., ACE_WIN32_Asynch_Operation or ACE_POSIX_Asynch_Operation. More...
class | ACE_Asynch_Read_Stream
| This class is a factory for starting off asynchronous reads on a stream. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Read_Stream::Result
| This is the class which will be passed back to the {handler} when the asynchronous read completes. This class forwards all the methods to the implementation classes. More...
class | ACE_Asynch_Write_Stream
| This class is a factory for starting off asynchronous writes on a stream. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Write_Stream::Result
| This is that class which will be passed back to the {handler} when the asynchronous write completes. This class forwards all the methods to the implementation class. More...
class | ACE_Asynch_Read_File
| This class is a factory for starting off asynchronous reads on a file. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Read_File::Result
| This is that class which will be passed back to the {handler} when the asynchronous read completes. This class forwards all the methods to the implementation class. More...
class | ACE_Asynch_Write_File
| This class is a factory for starting off asynchronous writes on a file. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Write_File::Result
| This is that class which will be passed back to the {handler} when the asynchronous write completes. This class forwards all the methods to the implementation class. More...
class | ACE_Asynch_Accept
| This class is a factory for starting off asynchronous accepts on a listen handle. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Accept::Result
| This is that class which will be passed back to the {handler} when the asynchronous accept completes. More...
class | ACE_Asynch_Connect
| This class is a factory for starting off asynchronous connects This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Connect::Result
| This is that class which will be passed back to the handler when the asynchronous connect completes. More...
class | ACE_Asynch_Transmit_File
| This class is a factory for starting off asynchronous transmit files on a stream. More...
class | ACE_Asynch_Transmit_File::Result
| This is that class which will be passed back to the {handler} when the asynchronous transmit file completes. More...
class | ACE_Asynch_Transmit_File::Header_And_Trailer
| The class defines a data structure that contains pointers to data to send before and after the file data is sent. More...
class | ACE_Asynch_Read_Dgram
| This class is a factory for starting off asynchronous reads on a UDP socket. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Read_Dgram::Result
| This is the class which will be passed back to the {handler} when the asynchronous read completes. This class forwards all the methods to the implementation classes. More...
class | ACE_Asynch_Write_Dgram
| This class is a factory for starting off asynchronous writes on a UDP socket. This class forwards all methods to its implementation class. More...
class | ACE_Asynch_Write_Dgram::Result
| This is that class which will be passed back to the {handler} when the asynchronous write completes. This class forwards all the methods to the implementation class. More...
class | ACE_Handler
| This base class defines the interface for receiving the results of asynchronous operations. More...
class | ACE_Handler::Proxy
| The Proxy class acts as a proxy for dispatch of completions to operations issued for the associated handler. It allows the handler to be deleted while operations are outstanding. The proxy must be used to get the ACE_Handler pointer for dispatching, and if it's 0, the handler is no longer valid and the result should not be dispatched. More...
class | ACE_Service_Handler
| This base class defines the interface for the ACE_Asynch_Acceptor to call into when new connection are accepted. More...

## Defines

#define | ACE_INFINITE INFINITE
#define | ACE_STATUS_TIMEOUT STATUS_TIMEOUT
#define | ACE_WAIT_FAILED WAIT_FAILED
#define | ACE_WAIT_TIMEOUT WAIT_TIMEOUT

## Typedefs

typedef LPTRANSMIT_FILE_BUFFERS | ACE_LPTRANSMIT_FILE_BUFFERS
typedef PTRANSMIT_FILE_BUFFERS | ACE_PTRANSMIT_FILE_BUFFERS

## Variables

ACE_BEGIN_VERSIONED_NAMESPACE_DECL typedef TRANSMIT_FILE_BUFFERS | ACE_TRANSMIT_FILE_BUFFERS

## Detailed Description

Id
  Asynch_IO.h,v 4.76 2006/02/10 09:21:43 jwillemsen Exp

This works on Win32 (#if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)) platforms and on POSIX4 platforms with {aio_*} routines (#if defined (ACE_HAS_AIO_CALLS))

On Win32 platforms, the implementation of {ACE_Asynch_Transmit_File} and {ACE_Asynch_Accept} are only supported if ACE_HAS_WINSOCK2 is defined or you are on WinNT 4.0 or higher.

Author:
  Irfan Pyarali <irfan@cs.wustl.edu>

  Tim Harrison <harrison@cs.wustl.edu>

  Alexander Babu Arulanthu <alex@cs.wustl.edu>

  Roger Tragin <r.tragin@computer.org>

  Alexander Libman <alibman@ihug.com.au>

## Define Documentation

#define ACE_INFINITE INFINITE

#define ACE_STATUS_TIMEOUT STATUS_TIMEOUT

#define ACE_WAIT_FAILED WAIT_FAILED

#define ACE_WAIT_TIMEOUT WAIT_TIMEOUT

## Typedef Documentation

typedef LPTRANSMIT_FILE_BUFFERS ACE_LPTRANSMIT_FILE_BUFFERS

typedef PTRANSMIT_FILE_BUFFERS ACE_PTRANSMIT_FILE_BUFFERS

## Variable Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL typedef TRANSMIT_FILE_BUFFERS ACE_TRANSMIT_FILE_BUFFERS