#include <ace/Asynch_IO.h>
class ACE_Handler {
public:ACE_Handler (void);ACE_Handler (ACE_Proactor *p);virtual ~ACE_Handler (void);virtual void handle_read_stream ( const ACE_Asynch_Read_Stream::Result &result );virtual void handle_write_stream ( const ACE_Asynch_Write_Stream::Result &result );virtual void handle_read_file ( const ACE_Asynch_Read_File::Result &result );virtual void handle_write_file ( const ACE_Asynch_Write_File::Result &result );virtual void handle_accept ( const ACE_Asynch_Accept::Result &result );virtual void handle_transmit_file ( const ACE_Asynch_Transmit_File::Result &result );virtual void handle_time_out ( const ACE_Time_Value &tv, const void *act = 0 );ACE_Proactor *proactor (void);void proactor (ACE_Proactor *p);virtual ACE_HANDLE handle (void) const;protected:ACE_Proactor *proactor_;};
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_Handler (void);
ACE_Handler (ACE_Proactor *p);
d.
virtual ~ACE_Handler (void);
virtual void handle_read_stream (
const ACE_Asynch_Read_Stream::Result &result
);
virtual void handle_write_stream (
const ACE_Asynch_Write_Stream::Result &result
);
virtual void handle_read_file (
const ACE_Asynch_Read_File::Result &result
);
virtual void handle_write_file (
const ACE_Asynch_Write_File::Result &result
);
virtual void handle_accept (const ACE_Asynch_Accept::Result &result);
virtual void handle_transmit_file (
const ACE_Asynch_Transmit_File::Result &result
);
virtual void handle_time_out (
const ACE_Time_Value &tv,
const void *act = 0
);
tv was the requested time value and
act is the ACT passed when scheduling the timer
ACE_Proactor *proactor (void);
void proactor (ACE_Proactor *p);
virtual ACE_HANDLE handle (void) const;
handler. This method will be
called by the ACE_Asynch_* classes when an ACE_INVALID_HANDLE is
passed to open.
ACE_Proactor *proactor_;
alex@cs.wustl.edu