This class implements ACE_Asynch_Operation for AIOCB (Asynchronous I/O Control Blocks) based implementation of Proactor.
class ACE_POSIX_AIOCB_Asynch_Operation : public virtual ACE_POSIX_Asynch_Operation {
public:
ACE_POSIX_AIOCB_Proactor *posix_proactor (void) const;
protected:
ACE_POSIX_AIOCB_Asynch_Operation ( ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor );
virtual ~ACE_POSIX_AIOCB_Asynch_Operation (void);
int register_aio_with_proactor (ACE_POSIX_Asynch_Result *result);
ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor_;
};
The implementation classes for POSIX implementation of Asynch Operations are defined here in this file.
ACE_POSIX_AIOCB_Proactor *posix_proactor (void) const;
ACE_POSIX_AIOCB_Asynch_Operation (
ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor
);
virtual ~ACE_POSIX_AIOCB_Asynch_Operation (void);
int register_aio_with_proactor (ACE_POSIX_Asynch_Result *result);
ACE_Asynch_Operation
to store some information with the
Proactor after an aio_
call is issued, so that the Proactor can
retreve this information to do aio_return
and aio_error
.
Passing a '0' ptr returns the status, indicating whether there
are slots available or no. Passing a valid ptr stores the ptr
with the Proactor.
ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor_;
Irfan Pyarali (irfan@cs.wustl.edu),
Tim Harrison (harrison@cs.wustl.edu) and
Alexander Babu Arulanthu alex@cs.wustl.edu
ace