Abstract base class for the all the classes that provide concrete implementations for ACE_Asynch_Result.
class ACE_Asynch_Result_Impl {
public:
virtual ~ACE_Asynch_Result_Impl (void);
virtual u_long bytes_transferred (void) const = 0;
virtual const void *act (void) const = 0;
virtual int success (void) const = 0;
virtual const void *completion_key (void) const = 0;
virtual u_long error (void) const = 0;
virtual ACE_HANDLE event (void) const = 0;
virtual u_long offset (void) const = 0;
virtual u_long offset_high (void) const = 0;
virtual int priority (void) const = 0;
virtual int signal_number (void) const = 0;
virtual void complete ( u_long bytes_transferred, int success, const void *completion_key, u_long error = 0 ) = 0;
virtual int post_completion (ACE_Proactor_Impl *proactor) = 0;
protected:
ACE_Asynch_Result_Impl (void);
};
This class contains asbtract base classes for all the concrete implementation classes for the various asynchronous operations that are used with the Praoctor.
virtual ~ACE_Asynch_Result_Impl (void);
virtual u_long bytes_transferred (void) const = 0;
virtual const void *act (void) const = 0;
virtual int success (void) const = 0;
virtual const void *completion_key (void) const = 0;
virtual u_long error (void) const = 0;
virtual ACE_HANDLE event (void) const = 0;
virtual u_long offset (void) const = 0;
virtual u_long offset_high (void) const = 0;
virtual int priority (void) const = 0;
virtual int signal_number (void) const = 0;
signal_number
ranges from SIGRTMIN to SIGRTMAX. By
default, SIGRTMIN is used to issue aio_
calls. This is a no-op
on non-POSIX4 systems and returns 0.
virtual void complete (
u_long bytes_transferred,
int success,
const void *completion_key,
u_long error = 0
) = 0;
virtual int post_completion (ACE_Proactor_Impl *proactor) = 0;
this
to the Proactor's completion port.
ACE_Asynch_Result_Impl (void);
Irfan Pyarali (irfan@cs.wustl.edu),
Tim Harrison (harrison@cs.wustl.edu) and
Alexander Babu Arulanthu alex@cs.wustl.edu
ace