ACE_POSIX_Asynch_Write_Dgram_Result Class Reference

#include <POSIX_Asynch_IO.h>

Inheritance diagram for ACE_POSIX_Asynch_Write_Dgram_Result:

Inheritance graph
[legend]
Collaboration diagram for ACE_POSIX_Asynch_Write_Dgram_Result:

Collaboration graph
[legend]
List of all members.

Public Member Functions

size_t bytes_to_write (void) const
ACE_Message_Blockmessage_block (void) const
 Message block which contains the sent data.

int flags (void) const
 The flags using in the write.

ACE_HANDLE handle (void) const
 I/O handle used for writing.


Protected Member Functions

 ACE_POSIX_Asynch_Write_Dgram_Result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block *message_block, size_t bytes_to_write, int flags, const void *act, 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_Dgram_Result (void)
 Destructor.


Protected Attributes

size_t bytes_to_write_
ACE_Message_Blockmessage_block_
 Message block used for the send.

int flags_
 The flags using in the write.

ACE_HANDLE handle_
 I/O handle used for writing.


Friends

class ACE_POSIX_Asynch_Write_Dgram
 Factory classes will have special permissions.

class ACE_POSIX_Proactor
 Proactor class has special permission.


Constructor & Destructor Documentation

ACE_POSIX_Asynch_Write_Dgram_Result::ACE_POSIX_Asynch_Write_Dgram_Result const ACE_Handler::Proxy_Ptr handler_proxy,
ACE_HANDLE  handle,
ACE_Message_Block message_block,
size_t  bytes_to_write,
int  flags,
const void *  act,
ACE_HANDLE  event,
int  priority,
int  signal_number
[protected]
 

Constructor is protected since creation is limited to ACE_Asynch_Write_Stream factory.

Definition at line 2269 of file POSIX_Asynch_IO.cpp.

References ACE_Handler::Proxy_Ptr.

02278   : ACE_POSIX_Asynch_Result
02279      (handler_proxy, act, event, 0, 0, priority, signal_number),
02280     bytes_to_write_ (bytes_to_write),
02281     message_block_ (message_block),
02282     flags_ (flags),
02283     handle_ (handle)
02284 
02285 {
02286   this->aio_fildes = handle;
02287   this->aio_nbytes = bytes_to_write;
02288 }

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

Destructor.

Definition at line 2317 of file POSIX_Asynch_IO.cpp.

02318 {
02319 }


Member Function Documentation

size_t ACE_POSIX_Asynch_Write_Dgram_Result::bytes_to_write void   )  const [virtual]
 

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

Implements ACE_Asynch_Write_Dgram_Result_Impl.

Definition at line 2244 of file POSIX_Asynch_IO.cpp.

References bytes_to_write_.

02245 {
02246   return this->bytes_to_write_;
02247 }

void ACE_POSIX_Asynch_Write_Dgram_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.

Implements ACE_Asynch_Result_Impl.

Definition at line 2291 of file POSIX_Asynch_IO.cpp.

References ACE_Refcounted_Auto_Ptr< X, ACE_LOCK >::get(), and ACE_Handler::handle_write_dgram().

02295 {
02296   // Copy the data which was returned by GetQueuedCompletionStatus
02297   this->bytes_transferred_ = bytes_transferred;
02298   this->success_ = success;
02299   this->completion_key_ = completion_key;
02300   this->error_ = error;
02301 
02302   // <errno> is available in the aiocb.
02303   ACE_UNUSED_ARG (error);
02304 
02305   // Appropriately move the pointers in the message block.
02306   //this->message_block_.wr_ptr (bytes_transferred);
02307 
02308   // Create the interface result class.
02309   ACE_Asynch_Write_Dgram::Result result (this);
02310 
02311   // Call the application handler.
02312   ACE_Handler *handler = this->handler_proxy_.get ()->handler ();
02313   if (handler != 0)
02314     handler->handle_write_dgram (result);
02315 }

int ACE_POSIX_Asynch_Write_Dgram_Result::flags void   )  const [virtual]
 

The flags using in the write.

Implements ACE_Asynch_Write_Dgram_Result_Impl.

Definition at line 2250 of file POSIX_Asynch_IO.cpp.

02251 {
02252   return this->flags_;
02253 }

ACE_HANDLE ACE_POSIX_Asynch_Write_Dgram_Result::handle void   )  const [virtual]
 

I/O handle used for writing.

Implements ACE_Asynch_Write_Dgram_Result_Impl.

Definition at line 2256 of file POSIX_Asynch_IO.cpp.

02257 {
02258   return this->handle_;
02259 }

ACE_Message_Block * ACE_POSIX_Asynch_Write_Dgram_Result::message_block void   )  const [virtual]
 

Message block which contains the sent data.

Implements ACE_Asynch_Write_Dgram_Result_Impl.

Definition at line 2263 of file POSIX_Asynch_IO.cpp.

02264 {
02265   return this->message_block_;
02266 }


Friends And Related Function Documentation

friend class ACE_POSIX_Asynch_Write_Dgram [friend]
 

Factory classes will have special permissions.

Definition at line 1106 of file POSIX_Asynch_IO.h.

friend class ACE_POSIX_Proactor [friend]
 

Proactor class has special permission.

Definition at line 1109 of file POSIX_Asynch_IO.h.


Member Data Documentation

size_t ACE_POSIX_Asynch_Write_Dgram_Result::bytes_to_write_ [protected]
 

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

Definition at line 1149 of file POSIX_Asynch_IO.h.

Referenced by bytes_to_write().

int ACE_POSIX_Asynch_Write_Dgram_Result::flags_ [protected]
 

The flags using in the write.

Definition at line 1155 of file POSIX_Asynch_IO.h.

ACE_HANDLE ACE_POSIX_Asynch_Write_Dgram_Result::handle_ [protected]
 

I/O handle used for writing.

Definition at line 1158 of file POSIX_Asynch_IO.h.

ACE_Message_Block* ACE_POSIX_Asynch_Write_Dgram_Result::message_block_ [protected]
 

Message block used for the send.

Definition at line 1152 of file POSIX_Asynch_IO.h.


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