This class is a factory for starting off asynchronous accepts on a listen handle.
class ACE_WIN32_Asynch_Accept : public virtual ACE_Asynch_Accept_Impl, public ACE_WIN32_Asynch_Operation {
public:ACE_WIN32_Asynch_Accept (ACE_WIN32_Proactor *win32_proactor);int accept ( ACE_Message_Block &message_block, u_long bytes_to_read, ACE_HANDLE accept_handle, const void *act, int priority, int signal_number = 0 );~ACE_WIN32_Asynch_Accept (void);int open ( ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor );int cancel (void);ACE_Proactor* proactor (void) const;};
These classes only works 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.
ACE_WIN32_Asynch_Accept (ACE_WIN32_Proactor *win32_proactor);
int accept (
ACE_Message_Block &message_block,
u_long bytes_to_read,
ACE_HANDLE accept_handle,
const void *act,
int priority,
int signal_number = 0
);
handler. Upto bytes_to_read will be read and stored in the
message_block. The accept_handle will be used for the
accept call. If (accept_handle == INVALID_HANDLE), a new
handle will be created.
message_block must be specified. This is because the address of
the new connection is placed at the end of this buffer.
~ACE_WIN32_Asynch_Accept (void);
int open (
ACE_Handler &handler,
ACE_HANDLE handle,
const void *completion_key,
ACE_Proactor *proactor
);
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) const;
Irfan Pyarali (irfan@cs.wustl.edu),
Tim Harrison (harrison@cs.wustl.edu) and
Alexander Babu Arulanthu alex@cs.wustl.edu
ace