ACE  6.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
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 >:
Inheritance graph
[legend]
Collaboration diagram for ACE_NonBlocking_Connect_Handler< SVC_HANDLER >:
Collaboration graph
[legend]

Public Member Functions

 ACE_NonBlocking_Connect_Handler (ACE_Connector_Base< SVC_HANDLER > &connector, SVC_HANDLER *, long timer_id)
 Constructor. More...
 
 ~ACE_NonBlocking_Connect_Handler (void)
 Destructor. More...
 
bool close (SVC_HANDLER *&sh)
 Close up and return underlying SVC_HANDLER through sh. More...
 
SVC_HANDLER * svc_handler (void)
 Get SVC_HANDLER. More...
 
ACE_HANDLE handle (void)
 Get handle. More...
 
void handle (ACE_HANDLE)
 Set handle. More...
 
long timer_id (void)
 Get timer id. More...
 
void timer_id (long timer_id)
 Set timer id. More...
 
virtual int handle_input (ACE_HANDLE)
 Called by ACE_Reactor when asynchronous connections fail. More...
 
virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
 Called by ACE_Dev_Poll_Reactor when asynchronous connections fail. More...
 
virtual int handle_output (ACE_HANDLE)
 Called by ACE_Reactor when asynchronous connections succeed. More...
 
virtual int handle_exception (ACE_HANDLE fd)
 
virtual int handle_timeout (const ACE_Time_Value &tv, const void *arg)
 
virtual int resume_handler (void)
 Should Reactor resume us if we have been suspended before the upcall? More...
 
void dump (void) const
 Dump the state of an object. More...
 
- Public Member Functions inherited from ACE_Event_Handler
virtual ~ACE_Event_Handler (void)
 Destructor is virtual to enable proper cleanup. More...
 
virtual ACE_HANDLE get_handle (void) const
 Get the I/O handle. 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_exit (ACE_Process *)
 Called when a process exits. More...
 
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
 
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_Reactorreactor (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_Policyreference_counting_policy (void)
 Current Reference_Counting_Policy. More...
 

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...
 

Private Attributes

ACE_Connector_Base< SVC_HANDLER > & connector_
 Connector base. More...
 
SVC_HANDLER * svc_handler_
 Associated SVC_HANDLER. More...
 
SVC_HANDLER * cleanup_svc_handler_
 Same as svc_handler_ if svc_handler_ is reference counted. More...
 
long timer_id_
 Associated timer id. More...
 

Additional Inherited Members

- Public Types inherited from ACE_Event_Handler
enum  {
  LO_PRIORITY = 0, HI_PRIORITY = 10, NULL_MASK = 0, READ_MASK = (1 << 0),
  WRITE_MASK = (1 << 1), EXCEPT_MASK = (1 << 2), ACCEPT_MASK = (1 << 3), CONNECT_MASK = (1 << 4),
  TIMER_MASK = (1 << 5), QOS_MASK = (1 << 6), GROUP_QOS_MASK = (1 << 7), SIGNAL_MASK = (1 << 8),
  ALL_EVENTS_MASK, RWE_MASK, DONT_CALL = (1 << 9)
}
 
enum  { ACE_EVENT_HANDLER_NOT_RESUMED = -1, ACE_REACTOR_RESUMES_HANDLER = 0, ACE_APPLICATION_RESUMES_HANDLER }
 
typedef long Reference_Count
 Reference count type. More...
 
- Static Public Member Functions inherited from ACE_Event_Handler
static ACE_THR_FUNC_RETURN read_adapter (void *event_handler)
 
static int register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED)
 
static int remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr)
 Performs the inverse of the register_stdin_handler() method. More...
 
- Protected Types inherited from ACE_Event_Handler
typedef ACE_Atomic_Op
< ACE_SYNCH_MUTEX,
Reference_Count
Atomic_Reference_Count
 Typedef for implementation of reference counting. More...
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 Force ACE_Event_Handler to be an abstract base class. More...
 
- Protected Attributes inherited from ACE_Event_Handler
Atomic_Reference_Count reference_count_
 Reference count. More...
 

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<typename SVC_HANDLER >
ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::ACE_NonBlocking_Connect_Handler ( ACE_Connector_Base< SVC_HANDLER > &  connector,
SVC_HANDLER *  sh,
long  timer_id 
)

Constructor.

template<typename SVC_HANDLER >
ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::~ACE_NonBlocking_Connect_Handler ( void  )

Destructor.

Member Function Documentation

template<typename 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<typename SVC_HANDLER >
void ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::dump ( void  ) const

Dump the state of an object.

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

Get handle.

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

Set handle.

template<typename SVC_HANDLER >
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle_close ( ACE_HANDLE  handle,
ACE_Reactor_Mask  m 
)
virtual

Called by ACE_Dev_Poll_Reactor when asynchronous connections fail.

Reimplemented from ACE_Event_Handler.

template<typename 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<typename 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<typename SVC_HANDLER >
int ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::handle_output ( ACE_HANDLE  handle)
virtual

Called by ACE_Reactor when asynchronous connections succeed.

Reimplemented from ACE_Event_Handler.

template<typename 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<typename 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<typename SVC_HANDLER >
SVC_HANDLER * ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::svc_handler ( void  )

Get SVC_HANDLER.

template<typename SVC_HANDLER >
long ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::timer_id ( void  )

Get timer id.

template<typename SVC_HANDLER >
void ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::timer_id ( long  timer_id)

Set 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 >
SVC_HANDLER* ACE_NonBlocking_Connect_Handler< SVC_HANDLER >::cleanup_svc_handler_
private

Same as svc_handler_ if svc_handler_ is reference counted.

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: