This class provides concrete implementation for
ACE_Asynch_Result for POSIX4 platforms. This class extends
aiocb
and makes it more useful.
class ACE_POSIX_Asynch_Result : public virtual ACE_Asynch_Result_Impl, public aiocb {
public:
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;
int priority (void) const;
int signal_number (void) const;
int post_completion (ACE_Proactor_Impl *proactor);
virtual ~ACE_POSIX_Asynch_Result (void);
protected:
ACE_POSIX_Asynch_Result ( ACE_Handler &handler, const void* act, ACE_HANDLE event, u_long offset, u_long offset_high, int priority, int signal_number );
ACE_Handler &handler_;
const void *act_;
u_long bytes_transferred_;
int success_;
const void *completion_key_;
u_long error_;
};
The implementation classes for POSIX implementation of Asynch Operations are defined here in this file.
u_long bytes_transferred (void) const;
const void *act (void) const;
int success (void) const;
const void *completion_key (void) const;
@@ This is not implemented for POSIX4 platforms.
u_long error (void) const;
ACE_HANDLE event (void) const;
u_long offset (void) const;
u_long offset_high (void) const;
@@ On POSIX4-Unix, offset_high should be supported using aiocb64.
int priority (void) const;
int signal_number (void) const;
signal_number
ranges from SIGRTMIN to SIGRTMAX. By
default, SIGRTMIN is used to issue aio_
calls.
int post_completion (ACE_Proactor_Impl *proactor);
this
to the Proactor.
virtual ~ACE_POSIX_Asynch_Result (void);
ACE_POSIX_Asynch_Result (
ACE_Handler &handler,
const void* act,
ACE_HANDLE event,
u_long offset,
u_long offset_high,
int priority,
int signal_number
);
Event
is not used on POSIX.
ACE_Handler &handler_;
const void *act_;
aiocb::aio_sigevent.sigev_value.sival_ptr
for
this. But it doesnot provide the constness, so this may be
better.
u_long bytes_transferred_;
int success_;
const void *completion_key_;
u_long error_;
Irfan Pyarali (irfan@cs.wustl.edu),
Tim Harrison (harrison@cs.wustl.edu) and
Alexander Babu Arulanthu alex@cs.wustl.edu
ace