NAME
ACE_POSIX_Asynch_Read_File_Result -
This class provides concrete implementation for ACE_Asynch_Read_File::Result class for POSIX platforms.
SYNOPSIS
class ACE_POSIX_Asynch_Read_File_Result :
public virtual ACE_Asynch_Read_File_Result_Impl,
public ACE_POSIX_Asynch_Read_Stream_Result
{
public:
friend class ACE_POSIX_AIOCB_Asynch_Read_File;
friend class ACE_POSIX_SIG_Asynch_Read_File;
friend class ACE_POSIX_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;
int priority (void) const;
int signal_number (void) const;
u_long bytes_to_read (void) const;
ACE_Message_Block &message_block (void) const;
ACE_HANDLE handle (void) const;
int post_completion (ACE_Proactor_Impl *proactor);
protected:
ACE_POSIX_Asynch_Read_File_Result (
ACE_Handler &handler,
ACE_HANDLE handle,
ACE_Message_Block &message_block,
u_long bytes_to_read,
const void* act,
u_long offset,
u_long offset_high,
ACE_HANDLE event,
int priority,
int signal_number
);
virtual void complete (
u_long bytes_transferred,
int success,
const void *completion_key,
u_long error
);
virtual ~ACE_POSIX_Asynch_Read_File_Result (void);
};
DESCRIPTION
The implementation classes for POSIX implementation of Asynch Operations are defined here in this file.
These methods belong to ACE_POSIX_Asynch_Result class base
class. These operations are here to kill dominance warnings. These methods call the base class methods.
u_long bytes_transferred (void) const;
Number of bytes transferred by the operation.
const void *act (void) const;
ACT associated with the operation.
int success (void) const;
Did the operation succeed?
const void *completion_key (void) const;
This is the ACT associated with the handle on which the Asynch_Operation takes place.
@@ This is not implemented for POSIX4 platforms.
u_long error (void) const;
Error value if the operation fail.
ACE_HANDLE event (void) const;
This returns ACE_INVALID_HANDLE on POSIX4 platforms.
u_long offset (void) const;
u_long offset_high (void) const;
This really make sense only when doing file I/O.
@@ On POSIX4-Unix, offset_high should be supported using
aiocb64.
int priority (void) const;
The priority of the asynchronous operation.
int signal_number (void) const;
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.
The following methods belong to
ACE_POSIX_Asynch_Read_Stream_Result. They are here to avoid dominance warnings. These methods route their call to the ACE_POSIX_Asynch_Read_Stream_Result base class.
u_long bytes_to_read (void) const;
The number of bytes which were requested at the start of the asynchronous read.
ACE_Message_Block &message_block (void) const;
Message block which contains the read data.
ACE_HANDLE handle (void) const;
I/O handle used for reading.
int post_completion (ACE_Proactor_Impl *proactor);
Post this to the Proactor.
AUTHOR
Irfan Pyarali ([email protected]), Tim Harrison ([email protected]) and Alexander Babu Arulanthu [email protected]
LIBRARY
ace