ACE_WIN32_Asynch_Transmit_File_Result Class Reference

This class implements ACE_Asynch_Transmit_File::Result for WIN32 platforms. More...

#include <WIN32_Asynch_IO.h>

Inheritance diagram for ACE_WIN32_Asynch_Transmit_File_Result:
Inheritance graph
[legend]
Collaboration diagram for ACE_WIN32_Asynch_Transmit_File_Result:
Collaboration graph
[legend]

List of all members.

Public Member Functions

ACE_HANDLE socket (void) const
 Socket used for transmitting the file.
ACE_HANDLE file (void) const
 File from which the data is read.
ACE_Asynch_Transmit_File::Header_And_Trailerheader_and_trailer (void) const
 Header and trailer data associated with this transmit file.
size_t bytes_to_write (void) const
size_t bytes_per_send (void) const
u_long flags (void) const
 Flags which were passed into transmit file.
size_t 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
u_long error (void) const
 Error value if the operation fail.
ACE_HANDLE event (void) const
 Event associated with the OVERLAPPED structure.
u_long offset (void) const
 This really make sense only when doing file I/O.
u_long offset_high (void) const
 Offset_high associated with the OVERLAPPED structure.
int priority (void) const
int signal_number (void) const
 No-op. Returns 0.
int post_completion (ACE_Proactor_Impl *proactor)
 Post this to the Proactor's completion port.

Protected Member Functions

 ACE_WIN32_Asynch_Transmit_File_Result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE socket, ACE_HANDLE file, ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer, size_t bytes_to_write, u_long offset, u_long offset_high, size_t bytes_per_send, u_long flags, const void *act, ACE_HANDLE event, int priority, int signal_number=0)
virtual void complete (size_t bytes_transferred, int success, const void *completion_key, u_long error)
 Proactor will call this method when the write completes.
virtual ~ACE_WIN32_Asynch_Transmit_File_Result (void)
 Destructor.

Protected Attributes

ACE_HANDLE socket_
 Network I/O handle.
ACE_HANDLE file_
 File I/O handle.
ACE_Asynch_Transmit_File::Header_And_Trailerheader_and_trailer_
 Header and trailer data associated with this transmit file.
size_t bytes_to_write_
size_t bytes_per_send_
u_long flags_
 Flags which were passed into transmit file.

Friends

class ACE_WIN32_Asynch_Transmit_File
 Factory class will have special permission.
class ACE_WIN32_Proactor
 Proactor class has special permission.

Detailed Description

This class implements ACE_Asynch_Transmit_File::Result for WIN32 platforms.

This class has all the information necessary for the handler to uniquiely identify the completion of the asynchronous transmit file.


Constructor & Destructor Documentation

ACE_WIN32_Asynch_Transmit_File_Result::ACE_WIN32_Asynch_Transmit_File_Result ( const ACE_Handler::Proxy_Ptr handler_proxy,
ACE_HANDLE  socket,
ACE_HANDLE  file,
ACE_Asynch_Transmit_File::Header_And_Trailer header_and_trailer,
size_t  bytes_to_write,
u_long  offset,
u_long  offset_high,
size_t  bytes_per_send,
u_long  flags,
const void *  act,
ACE_HANDLE  event,
int  priority,
int  signal_number = 0 
) [protected]

Constructor is protected since creation is limited to ACE_Asynch_Transmit_File factory.

virtual ACE_WIN32_Asynch_Transmit_File_Result::~ACE_WIN32_Asynch_Transmit_File_Result ( void   )  [protected, virtual]

Destructor.


Member Function Documentation

const void* ACE_WIN32_Asynch_Transmit_File_Result::act ( void   )  const [virtual]

ACT associated with the operation.

Reimplemented from ACE_WIN32_Asynch_Result.

size_t ACE_WIN32_Asynch_Transmit_File_Result::bytes_per_send ( void   )  const [virtual]

Number of bytes per send requested at the start of the transmit file.

Implements ACE_Asynch_Transmit_File_Result_Impl.

size_t ACE_WIN32_Asynch_Transmit_File_Result::bytes_to_write ( void   )  const [virtual]

The number of bytes which were requested at the start of the asynchronous transmit file.

Implements ACE_Asynch_Transmit_File_Result_Impl.

size_t ACE_WIN32_Asynch_Transmit_File_Result::bytes_transferred ( void   )  const [virtual]

Number of bytes transferred by the operation.

Reimplemented from ACE_WIN32_Asynch_Result.

virtual void ACE_WIN32_Asynch_Transmit_File_Result::complete ( size_t  bytes_transferred,
int  success,
const void *  completion_key,
u_long  error 
) [protected, virtual]

Proactor will call this method when the write completes.

Implements ACE_Asynch_Result_Impl.

const void* ACE_WIN32_Asynch_Transmit_File_Result::completion_key ( void   )  const [virtual]

This returns the ACT associated with the handle when it was registered with the I/O completion port. This ACT is not the same as the ACT associated with the asynchronous operation.

Reimplemented from ACE_WIN32_Asynch_Result.

u_long ACE_WIN32_Asynch_Transmit_File_Result::error ( void   )  const [virtual]

Error value if the operation fail.

Reimplemented from ACE_WIN32_Asynch_Result.

ACE_HANDLE ACE_WIN32_Asynch_Transmit_File_Result::event ( void   )  const [virtual]

Event associated with the OVERLAPPED structure.

Reimplemented from ACE_WIN32_Asynch_Result.

ACE_HANDLE ACE_WIN32_Asynch_Transmit_File_Result::file ( void   )  const [virtual]

File from which the data is read.

Implements ACE_Asynch_Transmit_File_Result_Impl.

u_long ACE_WIN32_Asynch_Transmit_File_Result::flags ( void   )  const [virtual]

Flags which were passed into transmit file.

Implements ACE_Asynch_Transmit_File_Result_Impl.

ACE_Asynch_Transmit_File::Header_And_Trailer* ACE_WIN32_Asynch_Transmit_File_Result::header_and_trailer ( void   )  const [virtual]

Header and trailer data associated with this transmit file.

Implements ACE_Asynch_Transmit_File_Result_Impl.

u_long ACE_WIN32_Asynch_Transmit_File_Result::offset ( void   )  const [virtual]

This really make sense only when doing file I/O.

Reimplemented from ACE_WIN32_Asynch_Result.

u_long ACE_WIN32_Asynch_Transmit_File_Result::offset_high ( void   )  const [virtual]

Offset_high associated with the OVERLAPPED structure.

Reimplemented from ACE_WIN32_Asynch_Result.

int ACE_WIN32_Asynch_Transmit_File_Result::post_completion ( ACE_Proactor_Impl proactor  )  [virtual]

Post this to the Proactor's completion port.

Reimplemented from ACE_WIN32_Asynch_Result.

int ACE_WIN32_Asynch_Transmit_File_Result::priority ( void   )  const [virtual]

The priority of the asynchronous operation. Currently, this is not supported on Win32.

Reimplemented from ACE_WIN32_Asynch_Result.

int ACE_WIN32_Asynch_Transmit_File_Result::signal_number ( void   )  const [virtual]

No-op. Returns 0.

Reimplemented from ACE_WIN32_Asynch_Result.

ACE_HANDLE ACE_WIN32_Asynch_Transmit_File_Result::socket ( void   )  const [virtual]

Socket used for transmitting the file.

Implements ACE_Asynch_Transmit_File_Result_Impl.

int ACE_WIN32_Asynch_Transmit_File_Result::success ( void   )  const [virtual]

Did the operation succeed?

Reimplemented from ACE_WIN32_Asynch_Result.


Friends And Related Function Documentation

friend class ACE_WIN32_Asynch_Transmit_File [friend]

Factory class will have special permission.

friend class ACE_WIN32_Proactor [friend]

Proactor class has special permission.

Reimplemented from ACE_WIN32_Asynch_Result.


Member Data Documentation

Number of bytes per send requested at the start of the transmit file.

The number of bytes which were requested at the start of the asynchronous transmit file.

File I/O handle.

Flags which were passed into transmit file.

Header and trailer data associated with this transmit file.

Network I/O handle.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Fri Sep 11 03:59:18 2009 for ACE by  doxygen 1.6.1