NAME
ACE_POSIX_Asynch_Transmit_File_Result -
This is that class which will be passed back to the handler when the asynchronous transmit file completes.
SYNOPSIS
class ACE_POSIX_Asynch_Transmit_File_Result :
public virtual ACE_Asynch_Transmit_File_Result_Impl,
public ACE_POSIX_Asynch_Result
{
public:
friend class ACE_POSIX_AIOCB_Asynch_Transmit_File;
friend class ACE_POSIX_SIG_Asynch_Transmit_File;
friend class ACE_POSIX_Asynch_Transmit_Handler;
friend class ACE_POSIX_AIOCB_Asynch_Transmit_Handler;
friend class ACE_POSIX_SIG_Asynch_Transmit_Handler;
friend class ACE_POSIX_Proactor;
ACE_HANDLE socket (void) const;
ACE_HANDLE file (void) const;
ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer (
void
) const;
u_long bytes_to_write (void) const;
u_long bytes_per_send (void) const;
u_long flags (void) const;
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);
protected:
ACE_POSIX_Asynch_Transmit_File_Result (
ACE_Handler &handler,
ACE_HANDLE socket,
ACE_HANDLE file,
ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer,
u_long bytes_to_write,
u_long offset,
u_long offset_high,
u_long bytes_per_send,
u_long flags,
const void *act,
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_Transmit_File_Result (void);
ACE_HANDLE socket_;
ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer_;
u_long bytes_per_send_;
u_long flags_;
};
DESCRIPTION
The implementation classes for POSIX implementation of Asynch Operations are defined here in this file.
Base class operations. 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.
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.
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