This class is a factory for starting off asynchronous reads on a stream. This class forwards all methods to its implementation class.
More...
#include <Asynch_IO.h>
|
| ACE_Asynch_Read_Stream (void) |
| A do nothing constructor. More...
|
|
virtual | ~ACE_Asynch_Read_Stream (void) |
| Destructor. More...
|
|
int | open (ACE_Handler &handler, ACE_HANDLE handle=ACE_INVALID_HANDLE, const void *completion_key=0, ACE_Proactor *proactor=0) |
|
int | read (ACE_Message_Block &message_block, size_t num_bytes_to_read, const void *act=0, int priority=0, int signal_number=ACE_SIGRTMIN) |
|
int | readv (ACE_Message_Block &message_block, size_t num_bytes_to_read, const void *act=0, int priority=0, int signal_number=ACE_SIGRTMIN) |
|
virtual ACE_Asynch_Operation_Impl * | implementation (void) const |
| Return the underlying implementation class. More...
|
|
int | open (ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor) |
|
int | cancel (void) |
|
ACE_Proactor * | proactor (void) const |
| Return the underlying proactor. More...
|
|
virtual | ~ACE_Asynch_Operation (void) |
| Destructor. More...
|
|
This class is a factory for starting off asynchronous reads on a stream. This class forwards all methods to its implementation class.
Once {open} is called, multiple asynchronous {read}s can started using this class. An ACE_Asynch_Read_Stream::Result will be passed back to the {handler} when the asynchronous reads completes through the {ACE_Handler::handle_read_stream} callback.
ACE_Asynch_Read_Stream::ACE_Asynch_Read_Stream |
( |
void |
| ) |
|
A do nothing constructor.
ACE_Asynch_Read_Stream::~ACE_Asynch_Read_Stream |
( |
void |
| ) |
|
|
virtual |
int ACE_Asynch_Read_Stream::open |
( |
ACE_Handler & |
handler, |
|
|
ACE_HANDLE |
handle = ACE_INVALID_HANDLE , |
|
|
const void * |
completion_key = 0 , |
|
|
ACE_Proactor * |
proactor = 0 |
|
) |
| |
Initializes the factory with information which will be used with each asynchronous call.
- Parameters
-
handler | The ACE_Handler that will be called to handle completions for operations initiated using this factory. |
handle | The handle that future read operations will use. If handle == ACE_INVALID_HANDLE , ACE_Handler::handle() will be called on @ handler to get the correct handle. |
- Return values
-
0 | for success. |
-1 | for failure; consult errno for further information. |
int ACE_Asynch_Read_Stream::read |
( |
ACE_Message_Block & |
message_block, |
|
|
size_t |
num_bytes_to_read, |
|
|
const void * |
act = 0 , |
|
|
int |
priority = 0 , |
|
|
int |
signal_number = ACE_SIGRTMIN |
|
) |
| |
Initiate an asynchronous read operation.
- Parameters
-
message_block | The ACE_Message_Block to receive the data. Received bytes will be placed in the block beginning at its current write pointer. If data is read, the message block's write pointer will be advanced by the number of bytes read. |
num_bytes_to_read | The maximum number of bytes to read. |
act | Asynchronous Completion Token; passed through to the completion handler in the Result object. |
priority | Priority of the operation. 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 priority, etc. Ignored on Windows. |
signal_number | The POSIX4 real-time signal number to be used to signal completion of the operation. Values range from ACE_SIGRTMIN to ACE_SIGRTMAX. This argument is ignored on non-POSIX4 systems. |
int ACE_Asynch_Read_Stream::readv |
( |
ACE_Message_Block & |
message_block, |
|
|
size_t |
num_bytes_to_read, |
|
|
const void * |
act = 0 , |
|
|
int |
priority = 0 , |
|
|
int |
signal_number = ACE_SIGRTMIN |
|
) |
| |
Same as above but with scatter support, through chaining of composite message blocks using the continuation field.
Implementation class that all methods will be forwarded to.
The documentation for this class was generated from the following files: