#include <POSIX_Asynch_IO.h>
Inheritance diagram for ACE_POSIX_Asynch_Connect:
Public Methods | |
ACE_POSIX_Asynch_Connect (ACE_POSIX_Proactor *posix_proactor) | |
Constructor. | |
virtual | ~ACE_POSIX_Asynch_Connect (void) |
Destructor. | |
int | open (ACE_Handler &handler, ACE_HANDLE handle, const void *completion_key, ACE_Proactor *proactor=0) |
int | connect (ACE_HANDLE connect_handle, const ACE_Addr &remote_sap, const ACE_Addr &local_sap, int reuse_addr, const void *act, int priority, int signal_number=0) |
int | cancel (void) |
int | close (void) |
ACE_HANDLE | get_handle (void) const |
virtual from ACE_Event_Handler | |
void | set_handle (ACE_HANDLE handle) |
virtual from ACE_Event_Handler | |
int | handle_input (ACE_HANDLE handle) |
int | handle_output (ACE_HANDLE handle) |
int | handle_exception (ACE_HANDLE handle) |
Called when an exceptional events occur (e.g., SIGURG). | |
int | handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask) |
virtual from ACE_Event_Handler | |
Private Types | |
typedef ACE_Map_Manager< ACE_HANDLE, ACE_POSIX_Asynch_Connect_Result *, ACE_SYNCH_NULL_MUTEX > | MAP_MANAGER |
typedef MAP_MANAGER::ITERATOR | MAP_ITERATOR |
typedef MAP_MANAGER::ENTRY | MAP_ENTRY |
Private Methods | |
int | connect_i (ACE_POSIX_Asynch_Connect_Result *result, const ACE_Addr &remote_sap, const ACE_Addr &local_sap, int reuse_addr) |
int | post_result (ACE_POSIX_Asynch_Connect_Result *result, int flg_post) |
int | cancel_uncompleted (int flg_notify, ACE_Handle_Set &set) |
Cancel uncompleted connect operations. | |
Private Attributes | |
int | flg_open_ |
int | task_lock_count_ |
MAP_MANAGER | result_map_ |
ACE_SYNCH_MUTEX | lock_ |
|
|
|
|
|
|
|
Constructor.
|
|
Destructor.
|
|
Cancel all pending pseudo-asynchronus requests Behavior as usual AIO request Reimplemented from ACE_POSIX_Asynch_Operation. |
|
Cancel uncompleted connect operations.
|
|
Close performs cancellation of all pending requests. |
|
This starts off an asynchronous connect.
Implements ACE_Asynch_Connect_Impl. |
|
|
|
virtual from ACE_Event_Handler
Reimplemented from ACE_Event_Handler. |
|
virtual from ACE_Event_Handler
Reimplemented from ACE_Event_Handler. |
|
Called when an exceptional events occur (e.g., SIGURG).
Reimplemented from ACE_Event_Handler. |
|
virtual from ACE_Event_Handler Called when accept event comes up on <listen_hanlde> Reimplemented from ACE_Event_Handler. |
|
Called when output events are possible (e.g., when flow control abates or non-blocking connection completes). Reimplemented from ACE_Event_Handler. |
|
This belongs to ACE_POSIX_Asynch_Operation. We forward this call to that method. We have put this here to avoid the compiler warnings. Reimplemented from ACE_POSIX_Asynch_Operation. |
|
|
|
virtual from ACE_Event_Handler
Reimplemented from ACE_Event_Handler. |
|
|
|
The lock to protect the result queue which is shared. The queue is updated by main thread in the register function call and through the auxillary thread in the deregister fun. So let us mutex it. |
|
Map of Result pointers that correspond to all the <accept>'s pending. |
|
to prevent ACE_Asynch_Pseudo_Task from deletion while we make a call to the ACE_Asynch_Pseudo_Task This is extra cost !!! we could avoid them if all applications will follow the rule: Proactor should be deleted only after deletion all AsynchOperation objects connected with it |