#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_;