This Proactor makes use of Asynchronous I/O Control Blocks (AIOCB) to notify/get the completion status of the <aio_> operations issued.  
 More...
|  | 
|  | ACE_POSIX_AIOCB_Proactor (size_t nmaxop=ACE_AIO_DEFAULT_SIZE) | 
|  | 
| virtual Proactor_Type | get_impl_type (void) | 
|  | 
| virtual | ~ACE_POSIX_AIOCB_Proactor (void) | 
|  | Destructor.  More... 
 | 
|  | 
| virtual int | close (void) | 
|  | Close down the Proactor.  More... 
 | 
|  | 
| virtual int | handle_events (ACE_Time_Value &wait_time) | 
|  | 
| virtual int | handle_events (void) | 
|  | 
| virtual int | post_completion (ACE_POSIX_Asynch_Result *result) | 
|  | Post a result to the completion port of the Proactor.  More... 
 | 
|  | 
| virtual int | start_aio (ACE_POSIX_Asynch_Result *result, ACE_POSIX_Proactor::Opcode op) | 
|  | 
| virtual int | cancel_aio (ACE_HANDLE h) | 
|  | 
| virtual | ~ACE_POSIX_Proactor (void) | 
|  | Virtual destructor.  More... 
 | 
|  | 
| ACE_Asynch_Pseudo_Task & | get_asynch_pseudo_task () | 
|  | Task to process pseudo-asynchronous operations.  More... 
 | 
|  | 
| virtual int | register_handle (ACE_HANDLE handle, const void *completion_key) | 
|  | This function is a no-op function for Unix systems. Returns 0.  More... 
 | 
|  | 
| int | wake_up_dispatch_threads (void) | 
|  | @ This is a no-op on POSIX platforms. Returns 0.  More... 
 | 
|  | 
| int | close_dispatch_threads (int wait) | 
|  | @ This is a no-op on POSIX platforms. Returns 0.  More... 
 | 
|  | 
| size_t | number_of_threads (void) const | 
|  | @ This is a no-op on POSIX platforms. Returns 0.  More... 
 | 
|  | 
| void | number_of_threads (size_t threads) | 
|  | Set number of thread used as a parameter to CreatIoCompletionPort.  More... 
 | 
|  | 
| virtual ACE_HANDLE | get_handle (void) const | 
|  | This is a no-op in POSIX. Returns ACE_INVALID_HANDLE.  More... 
 | 
|  | 
| virtual ACE_Asynch_Read_Stream_Impl *
 | create_asynch_read_stream (void) | 
|  | Create the correct implementation class for doing Asynch_Read_Stream.  More... 
 | 
|  | 
| virtual ACE_Asynch_Read_Stream_Result_Impl *
 | create_asynch_read_stream_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, size_t bytes_to_read, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Read_Stream::Result class.  More... 
 | 
|  | 
| virtual ACE_Asynch_Write_Stream_Impl *
 | create_asynch_write_stream (void) | 
|  | Create the correct implementation class for doing Asynch_Write_Stream.  More... 
 | 
|  | 
| virtual ACE_Asynch_Write_Stream_Result_Impl *
 | create_asynch_write_stream_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, size_t bytes_to_write, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Write_Stream::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Read_File_Impl * | create_asynch_read_file (void) | 
|  | Create the correct implementation class for doing Asynch_Read_File.  More... 
 | 
|  | 
| virtual ACE_Asynch_Read_File_Result_Impl *
 | create_asynch_read_file_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, size_t bytes_to_read, const void *act, u_long offset, u_long offset_high, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Read_File::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Write_File_Impl *
 | create_asynch_write_file (void) | 
|  | Create the correct implementation class for doing Asynch_Write_File.  More... 
 | 
|  | 
| virtual ACE_Asynch_Write_File_Result_Impl *
 | create_asynch_write_file_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, size_t bytes_to_write, const void *act, u_long offset, u_long offset_high, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Write_File::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Read_Dgram_Impl *
 | create_asynch_read_dgram (void) | 
|  | 
| virtual ACE_Asynch_Read_Dgram_Result_Impl *
 | create_asynch_read_dgram_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block *message_block, size_t bytes_to_read, int flags, int protocol_family, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Read_Dgram::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Write_Dgram_Impl *
 | create_asynch_write_dgram (void) | 
|  | 
| virtual ACE_Asynch_Write_Dgram_Result_Impl *
 | create_asynch_write_dgram_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block *message_block, size_t bytes_to_write, int flags, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Write_Dgram::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Accept_Impl * | create_asynch_accept (void) | 
|  | Create the correct implementation class for doing Asynch_Accept.  More... 
 | 
|  | 
| virtual ACE_Asynch_Accept_Result_Impl *
 | create_asynch_accept_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE listen_handle, ACE_HANDLE accept_handle, ACE_Message_Block &message_block, size_t bytes_to_read, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Accept::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Connect_Impl * | create_asynch_connect (void) | 
|  | Create the correct implementation class for doing Asynch_Connect.  More... 
 | 
|  | 
| virtual ACE_Asynch_Connect_Result_Impl *
 | create_asynch_connect_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE connect_handle, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Connect::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Transmit_File_Impl *
 | create_asynch_transmit_file (void) | 
|  | Create the correct implementation class for doing Asynch_Transmit_File.  More... 
 | 
|  | 
| virtual ACE_Asynch_Transmit_File_Result_Impl *
 | create_asynch_transmit_file_result (const ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE socket, ACE_HANDLE file, ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer, size_t bytes_to_write, u_long offset, u_long offset_high, size_t bytes_per_send, u_long flags, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | Create the correct implementation class for ACE_Asynch_Transmit_File::Result.  More... 
 | 
|  | 
| virtual ACE_Asynch_Result_Impl * | create_asynch_timer (const ACE_Handler::Proxy_Ptr &handler_proxy, const void *act, const ACE_Time_Value &tv, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) | 
|  | 
| virtual | ~ACE_Proactor_Impl (void) | 
|  | Virtual destruction.  More... 
 | 
|  | 
| virtual | ~ACE_Event_Handler (void) | 
|  | Destructor is virtual to enable proper cleanup.  More... 
 | 
|  | 
| virtual void | set_handle (ACE_HANDLE) | 
|  | Set the I/O handle.  More... 
 | 
|  | 
| virtual int | priority (void) const | 
|  | 
| virtual void | priority (int priority) | 
|  | Set the priority of the Event_Handler.  More... 
 | 
|  | 
| virtual int | handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE) | 
|  | Called when input events occur (e.g., connection or data).  More... 
 | 
|  | 
| virtual int | handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE) | 
|  | 
| virtual int | handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE) | 
|  | Called when an exceptional events occur (e.g., SIGURG).  More... 
 | 
|  | 
| virtual int | handle_timeout (const ACE_Time_Value ¤t_time, const void *act=0) | 
|  | 
| virtual int | handle_exit (ACE_Process *) | 
|  | Called when a process exits.  More... 
 | 
|  | 
| virtual int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) | 
|  | 
| virtual int | handle_signal (int signum, siginfo_t *=0, ucontext_t *=0) | 
|  | 
| virtual int | resume_handler (void) | 
|  | 
| virtual int | handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE) | 
|  | 
| virtual int | handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE) | 
|  | 
| virtual void | reactor (ACE_Reactor *reactor) | 
|  | Set the event demultiplexors.  More... 
 | 
|  | 
| virtual ACE_Reactor * | reactor (void) const | 
|  | Get the event demultiplexors.  More... 
 | 
|  | 
| virtual ACE_Reactor_Timer_Interface *
 | reactor_timer_interface (void) const | 
|  | Get only the reactor's timer related interface.  More... 
 | 
|  | 
| virtual Reference_Count | add_reference (void) | 
|  | Increment reference count on the handler.  More... 
 | 
|  | 
| virtual Reference_Count | remove_reference (void) | 
|  | Decrement reference count on the handler.  More... 
 | 
|  | 
| Reference_Counting_Policy & | reference_counting_policy (void) | 
|  | Current Reference_Counting_Policy.  More... 
 | 
|  | 
|  | 
|  | ACE_POSIX_AIOCB_Proactor (size_t nmaxop, ACE_POSIX_Proactor::Proactor_Type ptype) | 
|  | 
| virtual int | get_result_status (ACE_POSIX_Asynch_Result *asynch_result, int &error_status, size_t &transfer_count) | 
|  | 
| int | create_result_aiocb_list (void) | 
|  | Create aiocb list.  More... 
 | 
|  | 
| int | delete_result_aiocb_list (void) | 
|  | 
| void | create_notify_manager (void) | 
|  | 
| void | delete_notify_manager (void) | 
|  | 
| void | check_max_aio_num (void) | 
|  | 
| void | set_notify_handle (ACE_HANDLE h) | 
|  | To identify requests from Notify_Pipe_Manager.  More... 
 | 
|  | 
| int | handle_events_i (u_long milli_seconds) | 
|  | 
| int | start_deferred_aio (void) | 
|  | Start deferred AIO if necessary.  More... 
 | 
|  | 
| virtual int | cancel_aiocb (ACE_POSIX_Asynch_Result *result) | 
|  | Cancel running or deferred AIO.  More... 
 | 
|  | 
| ACE_POSIX_Asynch_Result * | find_completed_aio (int &error_status, size_t &transfer_count, size_t &index, size_t &count) | 
|  | Extract the results of aio.  More... 
 | 
|  | 
| virtual ssize_t | allocate_aio_slot (ACE_POSIX_Asynch_Result *result) | 
|  | Find free slot to store result and aiocb pointer.  More... 
 | 
|  | 
| virtual int | start_aio_i (ACE_POSIX_Asynch_Result *result) | 
|  | Initiate an aio operation.  More... 
 | 
|  | 
| virtual int | notify_completion (int sig_num) | 
|  | 
| int | putq_result (ACE_POSIX_Asynch_Result *result) | 
|  | Put "post_completed" result into the internal queue.  More... 
 | 
|  | 
| ACE_POSIX_Asynch_Result * | getq_result (void) | 
|  | Get "post_completed" result from the internal queue.  More... 
 | 
|  | 
| int | clear_result_queue (void) | 
|  | Clear the internal results queue.  More... 
 | 
|  | 
| int | process_result_queue (void) | 
|  | Process the internal results queue.  More... 
 | 
|  | 
|  | ACE_POSIX_Proactor (void) | 
|  | Constructor.  More... 
 | 
|  | 
| void | application_specific_code (ACE_POSIX_Asynch_Result *asynch_result, size_t bytes_transferred, const void *completion_key, u_long error) | 
|  | 
| virtual int | post_wakeup_completions (int how_many) | 
|  | 
|  | ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY) | 
|  | Force ACE_Event_Handler to be an abstract base class.  More... 
 | 
|  | 
This Proactor makes use of Asynchronous I/O Control Blocks (AIOCB) to notify/get the completion status of the <aio_> operations issued.