# ACE_NonBlocking_Connect_Handler< SVC_HANDLER > Class Template Reference

Performs non-blocking connects on behalf of the Connector. More...

`#include <Connector.h>`

Inheritance diagram for ACE_NonBlocking_Connect_Handler< SVC_HANDLER >:

[legend]
Collaboration diagram for ACE_NonBlocking_Connect_Handler< SVC_HANDLER >:

[legend]
List of all members.

## Public Member Functions

| ACE_NonBlocking_Connect_Handler (ACE_Connector_Base< SVC_HANDLER > &connector, SVC_HANDLER *, long timer_id)
bool | close (SVC_HANDLER *&sh)
| Close up and return underlying SVC_HANDLER through `sh`.
SVC_HANDLER * | svc_handler (void)
| Get SVC_HANDLER.
ACE_HANDLE | handle (void)
| Get handle.
void | handle (ACE_HANDLE)
| Set handle.
long | timer_id (void)
| Get timer id.
void | timer_id (long timer_id)
| Set timer id.
virtual int | handle_input (ACE_HANDLE)
| Called by ACE_Reactor when asynchronous connections fail.
virtual int | handle_output (ACE_HANDLE)
| Called by ACE_Reactor when asynchronous connections succeed.
virtual int | handle_exception (ACE_HANDLE fd)
virtual int | handle_timeout (const ACE_Time_Value &tv, const void *arg)
virtual int | resume_handler (void)
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Private Attributes

ACE_Connector_Base< SVC_HANDLER > & | connector_
| Connector base.
SVC_HANDLER * | svc_handler_
| Associated SVC_HANDLER.
long | timer_id_
| Associated timer id.

## Detailed Description

### template<class SVC_HANDLER>
class ACE_NonBlocking_Connect_Handler< SVC_HANDLER >

Performs non-blocking connects on behalf of the Connector.

## Constructor & Destructor Documentation

template<class SVC_HANDLER>
ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::ACE_NonBlocking_Connect_Handler | ( | ACE_Connector_Base< SVC_HANDLER > & | connector,
|  | SVC_HANDLER * | ,
|  | long | timer_id
| ) |

## Member Function Documentation

template<class SVC_HANDLER>
bool ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::close | ( | SVC_HANDLER *& | sh | ) |

Close up and return underlying SVC_HANDLER through `sh`.

If the return value is true the close was performed succesfully, implying that this object was removed from the reactor and thereby (by means of reference counting decremented to 0) deleted. If the return value is false, the close was not successful. The `sh` does not have any connection to the return value. The argument will return a valid svc_handler object if a valid one exists within the object. Returning a valid svc_handler pointer also invalidates the svc_handler contained in this object.

template<class SVC_HANDLER>
void ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::dump | ( | void |  | ) | const

| Dump the state of an object.

template<class SVC_HANDLER>
void ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle | ( | ACE_HANDLE |  | ) |

| Set handle.

template<class SVC_HANDLER>
ACE_HANDLE ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle | ( | void |  | ) |

| Get handle.

template<class SVC_HANDLER>
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle_exception | ( | ACE_HANDLE | fd | ) | `[virtual]`

| Called by ACE_Reactor when asynchronous connections suceeds (on some platforms only). Reimplemented from ACE_Event_Handler.

template<class SVC_HANDLER>
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle_input | ( | ACE_HANDLE |  | ) | `[virtual]`

| Called by ACE_Reactor when asynchronous connections fail. Reimplemented from ACE_Event_Handler.

template<class SVC_HANDLER>
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle_output | ( | ACE_HANDLE |  | ) | `[virtual]`

| Called by ACE_Reactor when asynchronous connections succeed. Reimplemented from ACE_Event_Handler.

template<class SVC_HANDLER>
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle_timeout | ( | const ACE_Time_Value & | tv,
|  | const void * | arg
| ) | `[virtual]`

| This method is called if a connection times out before completing. Reimplemented from ACE_Event_Handler.

template<class SVC_HANDLER>
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::resume_handler | ( | void |  | ) | `[virtual]`

| Should Reactor resume us if we have been suspended before the upcall? Reimplemented from ACE_Event_Handler.

template<class SVC_HANDLER>
SVC_HANDLER * ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::svc_handler | ( | void |  | ) |

| Get SVC_HANDLER.

template<class SVC_HANDLER>
void ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::timer_id | ( | long | timer_id | ) |

| Set timer id.

template<class SVC_HANDLER>
long ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::timer_id | ( | void |  | ) |

| Get timer id.

## Member Data Documentation

template<class SVC_HANDLER>
ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

template<class SVC_HANDLER>
ACE_Connector_Base<SVC_HANDLER>& ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::connector_`[private]`

| Connector base.

template<class SVC_HANDLER>
SVC_HANDLER* ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::svc_handler_`[private]`

| Associated SVC_HANDLER.

template<class SVC_HANDLER>
long ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::timer_id_`[private]`

| Associated timer id.

The documentation for this class was generated from the following files:

- Connector.h
- Connector.cpp