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...
Public Member Functions
|ACE_POSIX_Asynch_Write_Dgram (ACE_POSIX_Proactor *posix_proactor)|
|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 Member Functions
|Do-nothing constructor. |
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.
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.
|ssize_t ACE_POSIX_Asynch_Write_Dgram::send||(||ACE_Message_Block *||message_block,|
|const ACE_Addr &||addr,|
|const void *||act,|
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.
|0||The IO will complete asynchronously.|
|-1||There was an error; see |