#include <ace/Asynch_IO.h>
class ACE_Asynch_Operation {
public:
int open ( ACE_Handler &handler, ACE_HANDLE handle = ACE_INVALID_HANDLE, const void *completion_key = 0, ACE_Proactor *proactor = 0 );
int cancel (void);
ACE_Proactor* proactor (void);
protected:
int register_aio_with_proactor (aiocb *aiocb_ptr);
ACE_Asynch_Operation (void);
ACE_Proactor *proactor_;
ACE_Handler *handler_;
ACE_HANDLE handle_;
};
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.
int open (
ACE_Handler &handler,
ACE_HANDLE handle = ACE_INVALID_HANDLE,
const void *completion_key = 0,
ACE_Proactor *proactor = 0
);
handle
== ACE_INVALID_HANDLE),
ACE_Handler::handle
will be called on the handler
to get the
correct handle.
int cancel (void);
ACE_Proactor* proactor (void);
int register_aio_with_proactor (aiocb *aiocb_ptr);
ACE_Asynch_Operation
to store some information with the
Proactor after an aio_
call is issued, so that the Proactor can
retrive this information to do aio_return
and aio_error
.
Passing a '0' ptr returns the status, indicating whether there
are slots available or no. Passing a valid ptr stores the ptr
with the Proactor.
ACE_Asynch_Operation (void);
ACE_Proactor *proactor_;
ACE_Handler *handler_;
ACE_HANDLE handle_;
alex@cs.wustl.edu