Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_POSIX_Asynch_Write_Dgram Class Reference

This class is a factory for starting off asynchronous writes on a UDP socket. More...

#include <POSIX_Asynch_IO.h>

Inheritance diagram for ACE_POSIX_Asynch_Write_Dgram:

Inheritance graph
[legend]
Collaboration diagram for ACE_POSIX_Asynch_Write_Dgram:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_POSIX_Asynch_Write_Dgram (ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor)
 Constructor. More...

virtual ~ACE_POSIX_Asynch_Write_Dgram (void)
 Destructor. More...

virtual ssize_t send (ACE_Message_Block *message_block, size_t &number_of_bytes_sent, int flags, const ACE_Addr &addr, const void *act, int priority, int signal_number)
 This starts off an asynchronous send. More...

int open (ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor)
 Initializes the factory with information which will be used with each asynchronous call. More...

int cancel (void)
 This cancels all pending accepts operations that were issued by the calling thread. More...

ACE_Proactorproactor (void) const
 Return the underlying proactor. More...


Protected Methods

 ACE_POSIX_Asynch_Write_Dgram (void)
 Do-nothing constructor. More...


Detailed Description

This class is a factory for starting off asynchronous writes on a UDP socket.

Once <open> is called, multiple asynchronous <writes>s can started using this class. A ACE_Asynch_Write_Stream::Result will be passed back to the <handler> when the asynchronous write completes through the <ACE_Handler::handle_write_stream> callback.


Constructor & Destructor Documentation

ACE_POSIX_Asynch_Write_Dgram::ACE_POSIX_Asynch_Write_Dgram ACE_POSIX_AIOCB_Proactor   posix_aiocb_proactor
 

Constructor.

ACE_POSIX_Asynch_Write_Dgram::~ACE_POSIX_Asynch_Write_Dgram void    [virtual]
 

Destructor.

ACE_POSIX_Asynch_Write_Dgram::ACE_POSIX_Asynch_Write_Dgram void    [protected]
 

Do-nothing constructor.


Member Function Documentation

int ACE_POSIX_Asynch_Write_Dgram::cancel void    [virtual]
 

This cancels all pending accepts operations that were issued by the calling thread.

The function does not cancel asynchronous operations issued by other threads.

Reimplemented from ACE_POSIX_Asynch_Operation.

int ACE_POSIX_Asynch_Write_Dgram::open ACE_Handler   handler,
ACE_HANDLE    handle,
const void *    completion_key,
ACE_Proactor   proactor
[virtual]
 

Initializes the factory with information which will be used with each asynchronous call.

If (<handle> == ACE_INVALID_HANDLE), <ACE_Handler::handle> will be called on the <handler> to get the correct handle.

Reimplemented from ACE_POSIX_Asynch_Operation.

ACE_Proactor * ACE_POSIX_Asynch_Write_Dgram::proactor void    const [virtual]
 

Return the underlying proactor.

Reimplemented from ACE_POSIX_Asynch_Operation.

ssize_t ACE_POSIX_Asynch_Write_Dgram::send ACE_Message_Block   message_block,
size_t &    number_of_bytes_sent,
int    flags,
const ACE_Addr   addr,
const void *    act,
int    priority,
int    signal_number
[virtual]
 

This starts off an asynchronous send.

Up to <message_block->total_length()> will be sent. <message_block>'s <rd_ptr> will be updated to reflect the sent bytes if the send operation is successful completed. Return code of 1 means immediate success and number_of_bytes_sent is updated to number of bytes sent. The <ACE_Handler::handle_write_dgram> method will still be called. Return code of 0 means the IO will complete proactively. Return code of -1 means there was an error, use errno to get the error code.

Priority of the operation is specified by <priority>. On POSIX4-Unix, this is supported. Works like <nice> in Unix. Negative values are not allowed. 0 means priority of the operation same as the process priority. 1 means priority of the operation is one less than process. And so forth. <signal_number> is a no-op on non-POSIX4 systems.

Reimplemented from ACE_Asynch_Write_Dgram_Impl.


The documentation for this class was generated from the following files:
Generated on Tue Aug 20 15:25:43 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001