NAME
ACE_Asynch_Result_Impl -
Abstract base class for the all the classes that provide concrete implementations for ACE_Asynch_Result.
SYNOPSIS
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);
};
DESCRIPTION
This class contains asbtract base classes for all the concrete implementation classes for the various asynchronous operations that are used with the Praoctor.
PUBLIC MEMBERS
virtual ~ACE_Asynch_Result_Impl (void);
virtual u_long bytes_transferred (void) const = 0;
Number of bytes transferred by the operation.
virtual const void *act (void) const = 0;
ACT associated with the operation.
virtual int success (void) const = 0;
Did the operation succeed?
virtual const void *completion_key (void) const = 0;
This ACT is not the same as the ACT associated with the asynchronous operation.
virtual u_long error (void) const = 0;
Error value if the operation fail.
virtual ACE_HANDLE event (void) const = 0;
Event associated with the OVERLAPPED structure.
virtual u_long offset (void) const = 0;
virtual u_long offset_high (void) const = 0;
This really make sense only when doing file I/O.
virtual int priority (void) const = 0;
Priority of the operation.
virtual int signal_number (void) const = 0;
POSIX4 real-time signal number to be used for the operation. 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;
This is called when the asynchronous operation completes.
virtual int post_completion (ACE_Proactor_Impl *proactor) = 0;
Post this to the Proactor's completion port.
PROTECTED MEMBERS
ACE_Asynch_Result_Impl (void);
Do-nothing constructor.
AUTHOR
Irfan Pyarali ([email protected]), Tim Harrison ([email protected]) and Alexander Babu Arulanthu [email protected]
LIBRARY
ace