Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Connection_Handler Class Reference

TAO_Connection_Handler. More...

#include <Connection_Handler.h>

Inheritance diagram for TAO_Connection_Handler:

Inheritance graph
[legend]
Collaboration diagram for TAO_Connection_Handler:

Collaboration graph
[legend]
List of all members.

Public Methods

 TAO_Connection_Handler (void)
 Constructor.

 TAO_Connection_Handler (TAO_ORB_Core *orb_core)
 Constructor.

virtual ~TAO_Connection_Handler (void)
 Destructor.

TAO_Transporttransport (void)
 Return the underlying transport object.

void transport (TAO_Transport *transport)
 Set the underlying transport object.

int is_closed (void)
 Is the handler closed?

int is_open (void)
 Is the handler open?

int is_connecting (void)
 Is the handler in the process of being connected?

virtual int close_connection (void)=0
 Close the underlying connection.

virtual int handle_input (ACE_HANDLE fd)=0
int svc_i (void)
virtual int open_handler (void *)=0
 A open () hook.


Protected Methods

TAO_ORB_Coreorb_core (void)
 Return our TAO_ORB_Core pointer.

TAO_ORB_Core_TSS_Resourcestss_resources (void)
 Return our TSS Resources pointer.

int set_socket_option (ACE_SOCK &sock, int snd_size, int rcv_size)
 Set options on the socket.

Helper methods for Event_Handler-based derived classes.
Many (actually all so far) implementations of TAO_Connection_Handler are a mixin of TAO_Connection_Handler and some form of ACE_Event_Handler. The following methods simplify such implementations by capturing the common code in a single place.

int handle_output_eh (ACE_HANDLE h, ACE_Event_Handler *eh)
 Implement the handle_output() callback.

int handle_input_eh (ACE_HANDLE h, ACE_Event_Handler *eh)
 Implement the handle_input() callback.

int close_connection_eh (ACE_Event_Handler *eh)
virtual int release_os_resources (void)
 Release the OS resources related to this handler.

virtual void pre_io_hook (int &return_value)
virtual void pos_io_hook (int &return_value)

Private Attributes

TAO_ORB_Coreorb_core_
 Pointer to the TAO_ORB_Core.

TAO_Transporttransport_
 Transport object reference.

TAO_ORB_Core_TSS_Resourcestss_resources_
 Cached tss resources of the ORB that activated this object.

ACE_Locklock_

Detailed Description

TAO_Connection_Handler.

This class is an abstraction for the connection handlers. The connections handler in every protocol can derive from this class as well as the ACE_Svc_Handler specialised for the right protocol. This way, most of the common code for the different protocols would be in this implementation.


Constructor & Destructor Documentation

TAO_Connection_Handler::TAO_Connection_Handler void   
 

Constructor.

TAO_Connection_Handler::TAO_Connection_Handler TAO_ORB_Core   orb_core
 

Constructor.

TAO_Connection_Handler::~TAO_Connection_Handler void    [virtual]
 

Destructor.


Member Function Documentation

virtual int TAO_Connection_Handler::close_connection void    [pure virtual]
 

Close the underlying connection.

Used by the ORB to actively close connections that are idle, stale or somehow are determined to be broken before the Reactor does.

Returns:
Return 0 if the connection was already closed, non-zero otherwise.

Implemented in TAO_IIOP_Connection_Handler.

int TAO_Connection_Handler::close_connection_eh ACE_Event_Handler   eh [protected]
 

Implement close_connection() for Connection_Handlers that are also Event_Handlers.

virtual int TAO_Connection_Handler::handle_input ACE_HANDLE    fd [pure virtual]
 

The event handler calls, here so that other objects who hold a reference to this object can call the event handler methods.

Implemented in TAO_IIOP_Connection_Handler.

int TAO_Connection_Handler::handle_input_eh ACE_HANDLE    h,
ACE_Event_Handler   eh
[protected]
 

Implement the handle_input() callback.

int TAO_Connection_Handler::handle_output_eh ACE_HANDLE    h,
ACE_Event_Handler   eh
[protected]
 

Implement the handle_output() callback.

ACE_INLINE int TAO_Connection_Handler::is_closed void   
 

Is the handler closed?

ACE_INLINE int TAO_Connection_Handler::is_connecting void   
 

Is the handler in the process of being connected?

ACE_INLINE int TAO_Connection_Handler::is_open void   
 

Is the handler open?

virtual int TAO_Connection_Handler::open_handler void   [pure virtual]
 

A open () hook.

See Thread_Per_Connection_Handler for a use case

Implemented in TAO_IIOP_Connection_Handler.

ACE_INLINE TAO_ORB_Core * TAO_Connection_Handler::orb_core void    [protected]
 

Return our TAO_ORB_Core pointer.

void TAO_Connection_Handler::pos_io_hook int &    return_value [protected, virtual]
 

See the SSLIOP protocol for an interesting use-case

void TAO_Connection_Handler::pre_io_hook int &    return_value [protected, virtual]
 

See the SSLIOP protocol for an interesting use-case

int TAO_Connection_Handler::release_os_resources void    [protected, virtual]
 

Release the OS resources related to this handler.

Reimplemented in TAO_IIOP_Connection_Handler.

int TAO_Connection_Handler::set_socket_option ACE_SOCK   sock,
int    snd_size,
int    rcv_size
[protected]
 

Set options on the socket.

int TAO_Connection_Handler::svc_i void   
 

This method is invoked from the svc () method of the Svc_Handler Object.

void TAO_Connection_Handler::transport TAO_Transport   transport
 

Set the underlying transport object.

ACE_INLINE TAO_Transport * TAO_Connection_Handler::transport void   
 

Return the underlying transport object.

ACE_INLINE TAO_ORB_Core_TSS_Resources * TAO_Connection_Handler::tss_resources void    [protected]
 

Return our TSS Resources pointer.


Member Data Documentation

ACE_Lock* TAO_Connection_Handler::lock_ [private]
 

Internal state lock, needs to be separate from the reference count / pending upcalls lock because they interleave.

TAO_ORB_Core* TAO_Connection_Handler::orb_core_ [private]
 

Pointer to the TAO_ORB_Core.

TAO_Transport* TAO_Connection_Handler::transport_ [private]
 

Transport object reference.

TAO_ORB_Core_TSS_Resources* TAO_Connection_Handler::tss_resources_ [private]
 

Cached tss resources of the ORB that activated this object.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 17:31:42 2004 for TAO by doxygen1.2.18