Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   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. The UDP socket must be "connected", as there is no facility for specifying the destination address on each send operation. 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_Proactor *posix_proactor)
 Constructor.

virtual ~ACE_POSIX_Asynch_Write_Dgram (void)
 Destructor.

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)

Protected Methods

 ACE_POSIX_Asynch_Write_Dgram (void)
 Do-nothing constructor.


Detailed Description

This class is a factory for starting off asynchronous writes on a UDP socket. The UDP socket must be "connected", as there is no facility for specifying the destination address on each send operation.

Once open() is called, multiple asynchronous writes can started using this class. A ACE_Asynch_Write_Stream::Result will be passed back to the associated completion 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_Proactor   posix_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

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 method queues an asynchronous send. Up to message_block->total_length bytes will be sent, beginning at the read pointer. The message_block read pointer will be updated to reflect the sent bytes if the send operation is successful completed.

Priority of the operation is specified by priority. On POSIX, 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, etc. signal_number is a no-op on non-POSIX4 systems.

Note:
Unlike the Windows version of this facility, no indication of immediate success can be returned, and number_of_bytes_sent is never used.
  • flags Not used.
  • addr Not used.
Return values:
0  The IO will complete asynchronously.
-1  There was an error; see errno to get the error code.

Implements ACE_Asynch_Write_Dgram_Impl.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 16:51:52 2004 for ACE by doxygen1.2.18