This class implements ACE_Asynch_Transmit_File::Result for WIN32 platforms.
class ACE_WIN32_Asynch_Transmit_File_Result : public virtual ACE_Asynch_Transmit_File_Result_Impl, public ACE_WIN32_Asynch_Result {
public:
friend class ACE_WIN32_Asynch_Transmit_File;
friend class ACE_WIN32_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_WIN32_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 = 0 );
virtual void complete ( u_long bytes_transferred, int success, const void *completion_key, u_long error );
virtual ~ACE_WIN32_Asynch_Transmit_File_Result (void);
ACE_HANDLE socket_;
ACE_HANDLE file_;
ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer_;
u_long bytes_to_write_;
u_long bytes_per_send_;
u_long flags_;
};
These classes only works on Win32 platforms.
The implementation of ACE_Asynch_Transmit_File
and
ACE_Asynch_Accept
are only supported if ACE_HAS_WINSOCK2 is
defined or you are on WinNT 4.0 or higher.
friend class ACE_WIN32_Asynch_Transmit_File;
friend class ACE_WIN32_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);
this
to the Proactor's completion port.
ACE_WIN32_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 = 0
);
virtual void complete (
u_long bytes_transferred,
int success,
const void *completion_key,
u_long error
);
virtual ~ACE_WIN32_Asynch_Transmit_File_Result (void);
ACE_HANDLE socket_;
ACE_HANDLE file_;
ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer_;
u_long bytes_to_write_;
u_long bytes_per_send_;
u_long flags_;
Irfan Pyarali (irfan@cs.wustl.edu),
Tim Harrison (harrison@cs.wustl.edu) and
Alexander Babu Arulanthu alex@cs.wustl.edu
ace