|
Public Types |
typedef ACE_Timer_Queue_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_QUEUE |
| Public type.
|
typedef int(* | PROACTOR_EVENT_HOOK )(ACE_Proactor *) |
Public Member Functions |
| ACE_Proactor (ACE_Proactor_Impl *implementation=0, int delete_implementation=0, TIMER_QUEUE *tq=0) |
virtual | ~ACE_Proactor (void) |
| Virtual destruction.
|
virtual int | close (void) |
| Close the associated ACE_Proactor_Impl implementation object.
|
virtual int | proactor_run_event_loop (PROACTOR_EVENT_HOOK=0) |
virtual int | proactor_run_event_loop (ACE_Time_Value &tv, PROACTOR_EVENT_HOOK=0) |
virtual int | proactor_end_event_loop (void) |
virtual int | proactor_event_loop_done (void) |
| Report if the ACE_Proactor event loop is finished.
|
virtual int | proactor_reset_event_loop (void) |
virtual int | register_handle (ACE_HANDLE handle, const void *completion_key) |
virtual long | schedule_timer (ACE_Handler &handler, const void *act, const ACE_Time_Value &time) |
virtual long | schedule_repeating_timer (ACE_Handler &handler, const void *act, const ACE_Time_Value &interval) |
virtual long | schedule_timer (ACE_Handler &handler, const void *act, const ACE_Time_Value &time, const ACE_Time_Value &interval) |
virtual int | cancel_timer (ACE_Handler &handler, int dont_call_handle_close=1) |
virtual int | cancel_timer (long timer_id, const void **act=0, int dont_call_handle_close=1) |
virtual int | handle_events (ACE_Time_Value &wait_time) |
virtual int | handle_events (void) |
int | wake_up_dispatch_threads (void) |
| Add wakeup dispatch threads (reinit).
|
int | close_dispatch_threads (int wait) |
| Close all dispatch threads.
|
size_t | number_of_threads (void) const |
| Get number of thread used as a parameter to CreatIoCompletionPort.
|
void | number_of_threads (size_t threads) |
| Set number of thread used as a parameter to CreatIoCompletionPort.
|
TIMER_QUEUE * | timer_queue (void) const |
| Get timer queue.
|
void | timer_queue (TIMER_QUEUE *timer_queue) |
| Set timer queue.
|
virtual ACE_HANDLE | get_handle (void) const |
virtual ACE_Proactor_Impl * | implementation (void) const |
| Get the implementation class.
|
virtual ACE_Asynch_Read_Stream_Impl * | create_asynch_read_stream (void) |
virtual ACE_Asynch_Write_Stream_Impl * | create_asynch_write_stream (void) |
virtual ACE_Asynch_Read_File_Impl * | create_asynch_read_file (void) |
virtual ACE_Asynch_Write_File_Impl * | create_asynch_write_file (void) |
virtual ACE_Asynch_Accept_Impl * | create_asynch_accept (void) |
| Create the correct implementation class for doing Asynch_Accept.
|
virtual ACE_Asynch_Connect_Impl * | create_asynch_connect (void) |
| Create the correct implementation class for doing Asynch_Connect.
|
virtual ACE_Asynch_Transmit_File_Impl * | create_asynch_transmit_file (void) |
virtual ACE_Asynch_Read_Dgram_Impl * | create_asynch_read_dgram (void) |
virtual ACE_Asynch_Write_Dgram_Impl * | create_asynch_write_dgram (void) |
virtual ACE_Asynch_Read_Stream_Result_Impl * | create_asynch_read_stream_result (ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, u_long bytes_to_read, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) |
virtual ACE_Asynch_Write_Stream_Result_Impl * | create_asynch_write_stream_result (ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, u_long bytes_to_write, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) |
virtual ACE_Asynch_Read_File_Result_Impl * | create_asynch_read_file_result (ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, u_long 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) |
virtual ACE_Asynch_Write_File_Result_Impl * | create_asynch_write_file_result (ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE handle, ACE_Message_Block &message_block, u_long 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) |
virtual ACE_Asynch_Read_Dgram_Result_Impl * | create_asynch_read_dgram_result (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) |
virtual ACE_Asynch_Write_Dgram_Result_Impl * | create_asynch_write_dgram_result (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) |
virtual ACE_Asynch_Accept_Result_Impl * | create_asynch_accept_result (ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE listen_handle, ACE_HANDLE accept_handle, ACE_Message_Block &message_block, u_long 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.
|
virtual ACE_Asynch_Connect_Result_Impl * | create_asynch_connect_result (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.
|
virtual ACE_Asynch_Transmit_File_Result_Impl * | create_asynch_transmit_file_result (ACE_Handler::Proxy_Ptr &handler_proxy, ACE_HANDLE socket, ACE_HANDLE file, ACE_Asynch_Transmit_File::Header_And_Trailer *header_and_trailer, u_long bytes_to_write, u_long offset, u_long offset_high, u_long bytes_per_send, u_long flags, const void *act, ACE_HANDLE event=ACE_INVALID_HANDLE, int priority=0, int signal_number=ACE_SIGRTMIN) |
virtual ACE_Asynch_Result_Impl * | create_asynch_timer (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) |
Static Public Member Functions |
ACE_Proactor * | instance (size_t threads=0) |
ACE_Proactor * | instance (ACE_Proactor *proactor, int delete_proactor=0) |
void | close_singleton (void) |
| Delete the dynamically allocated Singleton.
|
void | cleanup (void *instance, void *arg) |
const ACE_TCHAR * | dll_name (void) |
| Name of dll in which the singleton instance lives.
|
const ACE_TCHAR * | name (void) |
| Name of component--ACE_Proactor in this case.
|
int | run_event_loop (void) |
int | run_event_loop (ACE_Time_Value &tv) |
int | end_event_loop (void) |
int | reset_event_loop (void) |
int | check_reconfiguration (ACE_Proactor *) |
int | event_loop_done (void) |
| Report if the <ACE_Proactor::instance> event loop is finished.
|
Protected Member Functions |
virtual int | proactor_post_wakeup_completions (int how_many) |
virtual void | implementation (ACE_Proactor_Impl *implementation) |
| Set the implementation class.
|
Static Protected Member Functions |
int | post_wakeup_completions (int how_many) |
Protected Attributes |
ACE_Proactor_Impl * | implementation_ |
int | delete_implementation_ |
ACE_Proactor_Timer_Handler * | timer_handler_ |
| Handles timeout events.
|
ACE_Thread_Manager | thr_mgr_ |
| This will manage the thread in the Timer_Handler.
|
TIMER_QUEUE * | timer_queue_ |
| Timer Queue.
|
int | delete_timer_queue_ |
| Flag on whether to delete the timer queue.
|
sig_atomic_t | end_event_loop_ |
| Terminate the proactor event loop.
|
sig_atomic_t | event_loop_thread_count_ |
| Number of threads in the event loop.
|
ACE_SYNCH_MUTEX | mutex_ |
| Mutex to protect work with lists.
|
Static Protected Attributes |
ACE_Proactor * | proactor_ = 0 |
| Pointer to a process-wide <ace_proactor>.
|
int | delete_proactor_ = 0 |
| Must delete the <proactor_> if non-0.
|
Private Types |
typedef ACE_Timer_Queue_Iterator_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_QUEUE_ITERATOR |
typedef ACE_Timer_List_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_LIST |
typedef ACE_Timer_List_Iterator_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_LIST_ITERATOR |
typedef ACE_Timer_Heap_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_HEAP |
typedef ACE_Timer_Heap_Iterator_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_HEAP_ITERATOR |
typedef ACE_Timer_Wheel_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_WHEEL |
typedef ACE_Timer_Wheel_Iterator_T<
ACE_Handler *, ACE_Proactor_Handle_Timeout_Upcall,
ACE_SYNCH_RECURSIVE_MUTEX > | TIMER_WHEEL_ITERATOR |
Private Member Functions |
| ACE_Proactor (const ACE_Proactor &) |
| Deny access since member-wise won't work...
|
ACE_Proactor & | operator= (const ACE_Proactor &) |
Friends |
class | ACE_Proactor_Timer_Handler |