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

ACE_WIN32_Asynch_Write_Dgram Class Reference

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

#include <WIN32_Asynch_IO.h>

Inheritance diagram for ACE_WIN32_Asynch_Write_Dgram:

Inheritance graph
[legend]
Collaboration diagram for ACE_WIN32_Asynch_Write_Dgram:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_WIN32_Asynch_Write_Dgram (ACE_WIN32_Proactor *win32_proactor)
 Constructor. More...

virtual ~ACE_WIN32_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_WIN32_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_WIN32_Asynch_Write_Dgram::ACE_WIN32_Asynch_Write_Dgram ACE_WIN32_Proactor   win32_proactor
 

Constructor.

ACE_WIN32_Asynch_Write_Dgram::~ACE_WIN32_Asynch_Write_Dgram void    [virtual]
 

Destructor.

ACE_WIN32_Asynch_Write_Dgram::ACE_WIN32_Asynch_Write_Dgram void    [protected]
 

Do-nothing constructor.


Member Function Documentation

int ACE_WIN32_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_WIN32_Asynch_Operation.

int ACE_WIN32_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_WIN32_Asynch_Operation.

ACE_Proactor * ACE_WIN32_Asynch_Write_Dgram::proactor void    const [virtual]
 

Return the underlying proactor.

Reimplemented from ACE_WIN32_Asynch_Operation.

ssize_t ACE_WIN32_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.

Upto <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 successfully 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.

Scatter/gather is supported on WIN32 by using the <message_block->cont()> method. Up to ACE_IOV_MAX <message_block>'s are supported. Upto <message_block->length()> bytes will be sent from each <message block> for a total of <message_block->total_length()> bytes. All <message_block>'s <rd_ptr>'s will be updated to reflect the bytes sent from each <message_block>.

Reimplemented from ACE_Asynch_Write_Dgram_Impl.


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 17:15:08 2002 for ACE by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001