ACE_POSIX_Asynch_Write_File_Result Class Reference

This class provides implementation for for POSIX platforms. More...

#include <POSIX_Asynch_IO.h>

Inheritance diagram for ACE_POSIX_Asynch_Write_File_Result:

Inheritance graph
[legend]
Collaboration diagram for ACE_POSIX_Asynch_Write_File_Result:

Collaboration graph
[legend]
List of all members.

Protected Member Functions

 ACE_POSIX_Asynch_Write_File_Result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, size_t bytes_to_write, const void *act, u_long offset, u_long offset_high, ACE_HANDLE event, int priority, int signal_number)
virtual void complete (size_t bytes_transferred, int success, const void *completion_key, u_long error)
 ACE_Proactor will call this method when the write completes.

virtual ~ACE_POSIX_Asynch_Write_File_Result (void)
 Destructor.


Friends

class ACE_POSIX_Asynch_Write_File
 Factory classes will have special permissions.

class ACE_POSIX_Proactor
 The Proactor constructs the Result class for faking results.


Detailed Description

This class provides implementation for for POSIX platforms.

This class has all the information necessary for the to uniquiely identify the completion of the asynchronous write.

This class differs slightly from <ACE_Asynch_Write_Stream::Result> as it calls back <ACE_Handler::handle_write_file> on the instead of <ACE_Handler::handle_write_stream>. No additional state is required by this class as can store the .

Definition at line 506 of file POSIX_Asynch_IO.h.


Constructor & Destructor Documentation

ACE_POSIX_Asynch_Write_File_Result::ACE_POSIX_Asynch_Write_File_Result const ACE_Handler::Proxy_Ptr handler_proxy,
ACE_HANDLE  handle,
ACE_Message_Block message_block,
size_t  bytes_to_write,
const void *  act,
u_long  offset,
u_long  offset_high,
ACE_HANDLE  event,
int  priority,
int  signal_number
[protected]
 

Constructor is protected since creation is limited to ACE_Asynch_Write_File factory.

Definition at line 579 of file POSIX_Asynch_IO.cpp.

References ACE_Handler::Proxy_Ptr.

00589   : ACE_POSIX_Asynch_Write_Stream_Result (handler_proxy,
00590                                           handle,
00591                                           message_block,
00592                                           bytes_to_write,
00593                                           act,
00594                                           event,
00595                                           priority,
00596                                           signal_number)
00597 {
00598   this->aio_offset = offset;
00599   //
00600   // @@ Support offset_high with aiocb64.
00601   //
00602   ACE_UNUSED_ARG (offset_high);
00603 }

ACE_POSIX_Asynch_Write_File_Result::~ACE_POSIX_Asynch_Write_File_Result void   )  [protected, virtual]
 

Destructor.

Definition at line 632 of file POSIX_Asynch_IO.cpp.

References ~ACE_POSIX_Asynch_Write_File_Result().

Referenced by ~ACE_POSIX_Asynch_Write_File_Result().

00633 {
00634 }


Member Function Documentation

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

ACE_Proactor will call this method when the write completes.

Reimplemented from ACE_POSIX_Asynch_Write_Stream_Result.

Definition at line 606 of file POSIX_Asynch_IO.cpp.

References complete(), ACE_Refcounted_Auto_Ptr< X, ACE_LOCK >::get(), ACE_Handler::handle_write_file(), and ACE_Message_Block::rd_ptr().

Referenced by complete().

00610 {
00611   // Copy the data.
00612   this->bytes_transferred_ = bytes_transferred;
00613   this->success_ = success;
00614   this->completion_key_ = completion_key;
00615   this->error_ = error;
00616 
00617   // <error> is available in <aio_resultp.aio_error>
00618   ACE_UNUSED_ARG (error);
00619 
00620   // Appropriately move the pointers in the message block.
00621   this->message_block_.rd_ptr (bytes_transferred);
00622 
00623   // Create the interface result class.
00624   ACE_Asynch_Write_File::Result result (this);
00625 
00626   // Call the application handler.
00627   ACE_Handler *handler = this->handler_proxy_.get ()->handler ();
00628   if (handler != 0)
00629     handler->handle_write_file (result);
00630 }


Friends And Related Function Documentation

friend class ACE_POSIX_Asynch_Write_File [friend]
 

Factory classes will have special permissions.

Definition at line 510 of file POSIX_Asynch_IO.h.

friend class ACE_POSIX_Proactor [friend]
 

The Proactor constructs the Result class for faking results.

Reimplemented from ACE_POSIX_Asynch_Write_Stream_Result.

Definition at line 513 of file POSIX_Asynch_IO.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:27:00 2006 for ACE by doxygen 1.3.6