#include <ace/Asynch_IO.h>
class ACE_Asynch_Result : protected OVERLAPPED {
public:
friend class ACE_Proactor;
u_long bytes_transferred (void) const;
const void *act (void) const;
int success (void) const;
const void *completion_key (void) const;
u_long error (void) const;
ACE_HANDLE event (void) const;
u_long offset (void) const;
u_long offset_high (void) const;
ACE_Asynch_Result ( ACE_Handler &handler, const void* act, ACE_HANDLE event, u_long offset = 0, u_long offset_high = 0 );
virtual ~ACE_Asynch_Result (void);
protected:
virtual void complete ( u_long bytes_transferred, int success, const void *completion_key, u_long error = 0 ) = 0;
ACE_Handler &handler_;
const void *act_;
u_long bytes_transferred_;
int success_;
const void *completion_key_;
u_long error_;
};
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
friend class ACE_Proactor;
u_long bytes_transferred (void) const;
const void *act (void) const;
int success (void) const;
const void *completion_key (void) const;
u_long error (void) const;
ACE_HANDLE event (void) const;
u_long offset (void) const;
u_long offset_high (void) const;
ACE_Asynch_Result (
ACE_Handler &handler,
const void* act,
ACE_HANDLE event,
u_long offset = 0,
u_long offset_high = 0
);
virtual ~ACE_Asynch_Result (void);
virtual void complete (
u_long bytes_transferred,
int success,
const void *completion_key,
u_long error = 0
) = 0;
ACE_Handler &handler_;
const void *act_;
u_long bytes_transferred_;
int success_;
const void *completion_key_;
u_long error_;