Inheritance diagram for ACE_AIOCB_Notify_Pipe_Manager:
Public Methods | |
ACE_AIOCB_Notify_Pipe_Manager (ACE_POSIX_AIOCB_Proactor *posix_aiocb_proactor) | |
virtual | ~ACE_AIOCB_Notify_Pipe_Manager (void) |
Destructor. | |
int | notify () |
Send the result pointer through the notification pipe. | |
virtual void | handle_read_stream (const ACE_Asynch_Read_Stream::Result &result) |
Private Methods | |
ACE_AIOCB_Notify_Pipe_Manager (void) | |
Default constructor. Shouldnt be called. | |
Private Attributes | |
ACE_POSIX_AIOCB_Proactor * | posix_aiocb_proactor_ |
The implementation proactor class. | |
ACE_Message_Block | message_block_ |
Message block to get ACE_POSIX_Asynch_Result pointer from the pipe. | |
ACE_Pipe | pipe_ |
ACE_POSIX_Asynch_Read_Stream | read_stream_ |
To do asynch_read on the pipe. |
This class acts as the Handler for the <Asynch_Read> operations issued on the notify pipe. This class is very useful in implementing <Asynch_Accept> operation class for the <AIOCB_Proactor>. This is also useful for implementing <post_completion> for <AIOCB_Proactor>.
<AIOCB_Proactor> class issues a <Asynch_Read> on the pipe, using this class as the Handler. <POSIX_Asynch_Result *>'s are sent through the notify pipe. When <POSIX_Asynch_Result *>'s show up on the notify pipe, the <POSIX_AIOCB_Proactor> dispatches the completion of the <Asynch_Read_Stream> and calls the <handle_read_stream> of this class. This class calls <complete> on the <POSIX_Asynch_Result *> and thus calls the application handler. Handling the MessageBlock: We give this message block to read the result pointer through the notify pipe. We expect that to read 4 bytes from the notify pipe, for each <accept> call. Before giving this message block to another <accept>, we update <wr_ptr> and put it in its initial position.
|
Constructor. You need the posix proactor because you need to call <application_specific_code> |
|
Destructor.
|
|
Default constructor. Shouldnt be called.
|
|
This is the call back method when <Asynch_Read> from the pipe is complete. Reimplemented from ACE_Handler. |
|
Send the result pointer through the notification pipe.
|
|
Message block to get ACE_POSIX_Asynch_Result pointer from the pipe.
|
|
Pipe for the communication between Proactor and the Asynch_Accept/Asynch_Connect and other post_completions |
|
The implementation proactor class.
|
|
To do asynch_read on the pipe.
|