#include <Proactor_Impl.h>
Inheritance diagram for ACE_Proactor_Impl:


Public Member Functions | |
| virtual | ~ACE_Proactor_Impl (void) | 
| Virtual destruction.   | |
| virtual int | close (void)=0 | 
| Close the IO completion port.   | |
| virtual int | register_handle (ACE_HANDLE handle, const void *completion_key)=0 | 
| virtual int | handle_events (ACE_Time_Value &wait_time)=0 | 
| virtual int | handle_events (void)=0 | 
| virtual int | wake_up_dispatch_threads (void)=0 | 
| Add wakeup dispatch threads (reinit).   | |
| virtual int | close_dispatch_threads (int wait)=0 | 
| Close all dispatch threads.   | |
| virtual size_t | number_of_threads (void) const=0 | 
| Get number of thread used as a parameter to CreatIoCompletionPort.   | |
| virtual void | number_of_threads (size_t threads)=0 | 
| Set number of thread used as a parameter to CreatIoCompletionPort.   | |
| virtual ACE_HANDLE | get_handle (void) const=0 | 
| Get the event handle.   | |
| virtual ACE_Asynch_Read_Stream_Impl * | create_asynch_read_stream (void)=0 | 
| Create the correct implementation class for doing Asynch_Read_Stream.   | |
| virtual ACE_Asynch_Write_Stream_Impl * | create_asynch_write_stream (void)=0 | 
| Create the correct implementation class for doing Asynch_Write_Stream.   | |
| virtual ACE_Asynch_Read_File_Impl * | create_asynch_read_file (void)=0 | 
| Create the correct implementation class for doing Asynch_Read_File.   | |
| virtual ACE_Asynch_Write_File_Impl * | create_asynch_write_file (void)=0 | 
| Create the correct implementation class for doing Asynch_Write_File.   | |
| virtual ACE_Asynch_Accept_Impl * | create_asynch_accept (void)=0 | 
| Create the correct implementation class for doing Asynch_Accept.   | |
| virtual ACE_Asynch_Connect_Impl * | create_asynch_connect (void)=0 | 
| Create the correct implementation class for doing Asynch_Connect.   | |
| virtual ACE_Asynch_Transmit_File_Impl * | create_asynch_transmit_file (void)=0 | 
| Create the correct implementation class for doing Asynch_Transmit_File.   | |
| virtual ACE_Asynch_Read_Dgram_Impl * | create_asynch_read_dgram (void)=0 | 
| virtual ACE_Asynch_Write_Dgram_Impl * | create_asynch_write_dgram (void)=0 | 
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Read_Stream::Result class.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Write_Stream::Result.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Read_File::Result.   | |
| virtual ACE_Asynch_Write_File_Result_Impl * | create_asynch_write_file_result (const ACE_Handler::Proxy_Ptr &handler, 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Write_File::Result.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Read_Dgram::Result.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Write_Dgram::Result.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Accept::Result.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Connect::Result.   | |
| 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)=0 | 
| Create the correct implementation class for ACE_Asynch_Transmit_File::Result.   | |
| 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=0)=0 | 
| virtual int | post_wakeup_completions (int how_many)=0 | 
See the Proactor pattern description at http://www.cs.wustl.edu/~schmidt/proactor.ps.gz for more details.
Definition at line 42 of file Proactor_Impl.h.
      
  | 
  
| 
 Virtual destruction. 
 Definition at line 15 of file Proactor_Impl.cpp. 
 00016 {
00017 }
 | 
  
      
  | 
  
| 
 Close the IO completion port. 
 Implemented in ACE_POSIX_Proactor, ACE_POSIX_AIOCB_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::close().  | 
  
      
  | 
  
| 
 Close all dispatch threads. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Accept. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_accept().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Accept::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Connect. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_connect().  | 
  
      
  | 
  ||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Connect::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Read_Dgram. Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_read_dgram().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Read_Dgram::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Read_File. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_read_file().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Read_File::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Read_Stream. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_read_stream().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Read_Stream::Result class. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  ||||||||||||||||||||||||||||
| 
 Create the correct implementation object for the Timer result. POSIX_SIG_Proactor will create a Timer object with a meaningful signal number, if you leave the signal number as 0. Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Transmit_File. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_transmit_file().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Transmit_File::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Write_Dgram. Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_write_dgram().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Write_Dgram::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Write_File. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_write_file().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Write_File::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Create the correct implementation class for doing Asynch_Write_Stream. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::create_asynch_write_stream().  | 
  
      
  | 
  ||||||||||||||||||||||||||||||||||||
| 
 Create the correct implementation class for ACE_Asynch_Write_Stream::Result. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Get the event handle. 
 Reimplemented from ACE_Event_Handler. Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::get_handle().  | 
  
      
  | 
  
| 
 Block indefinitely until at least one event is dispatched. Dispatch a single set of events. If elapses before any events occur, return 0. Return 1 on success i.e., when a completion is dispatched, non-zero (-1) on errors and errno is set accordingly. Implemented in ACE_POSIX_CB_Proactor, ACE_POSIX_Proactor, ACE_POSIX_AIOCB_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Dispatch a single set of events. If wait_time elapses before any events occur, return 0. Return 1 on success i.e., when a completion is dispatched, non-zero (-1) on errors and errno is set accordingly. Implemented in ACE_POSIX_CB_Proactor, ACE_POSIX_Proactor, ACE_POSIX_AIOCB_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::handle_events().  | 
  
      
  | 
  
| 
 Set number of thread used as a parameter to CreatIoCompletionPort. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
      
  | 
  
| 
 Get number of thread used as a parameter to CreatIoCompletionPort. 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::number_of_threads().  | 
  
      
  | 
  
| 
 Post how_many completions to the completion port so that all threads can wake up. This is used in conjunction with the . Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::proactor_post_wakeup_completions().  | 
  
      
  | 
  ||||||||||||
| 
 This method adds the handle to the I/O completion port. This function is a no-op function for Unix systems. Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor. Referenced by ACE_Proactor::register_handle().  | 
  
      
  | 
  
| 
 Add wakeup dispatch threads (reinit). 
 Implemented in ACE_POSIX_Proactor, and ACE_WIN32_Proactor.  | 
  
 
1.3.6