NAME
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.
SYNOPSIS
class ACE_Asynch_Operation
{
public:
int open (
ACE_Handler &handler,
ACE_HANDLE handle,
const void *completion_key,
ACE_Proactor *proactor
);
int cancel (void);
ACE_Proactor* proactor (void) const;
virtual ~ACE_Asynch_Operation (void);
protected:
ACE_Asynch_Operation (void);
ACE_Asynch_Operation_Impl *implementation (void) const;
void implementation (ACE_Asynch_Operation_Impl *implementation);
ACE_Proactor *get_proactor (
ACE_Proactor *user_proactor,
ACE_Handler &handler
) const;
ACE_Asynch_Operation_Impl *implementation_;
};
DESCRIPTION
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.
Access methods.
ACE_Proactor* proactor (void) const;
Return the underlying proactor.
virtual ~ACE_Asynch_Operation (void);
Destructor.
AUTHOR
Irfan Pyarali [email protected], Tim Harrison [email protected] and Alexander Babu Arulanthu [email protected]
LIBRARY
ace