TAO  2.4.2
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_IIOP_Connector Class Reference

IIOP-specific Connector bridge for pluggable protocols. More...

#include <IIOP_Connector.h>

Inheritance diagram for TAO_IIOP_Connector:
Inheritance graph
Collaboration diagram for TAO_IIOP_Connector:
Collaboration graph

Public Types

typedef TAO_Connect_Concurrency_Strategy< TAO_IIOP_Connection_HandlerTAO_IIOP_CONNECT_CONCURRENCY_STRATEGY
typedef TAO_Connect_Creation_Strategy< TAO_IIOP_Connection_HandlerTAO_IIOP_CONNECT_CREATION_STRATEGY
typedef ACE_Strategy_Connector< TAO_IIOP_Connection_Handler, ACE_SOCK_CONNECTORTAO_IIOP_BASE_CONNECTOR

Public Member Functions

 TAO_IIOP_Connector (void)
 Constructor. More...
 ~TAO_IIOP_Connector (void)
 Destructor. More...
int open (TAO_ORB_Core *orb_core)
 Initialize object and register with reactor. More...
int close (void)
 Shutdown Connector bridge and concrete Connector. More...
TAO_Profilecreate_profile (TAO_InputCDR &cdr)
virtual int check_prefix (const char *endpoint)
virtual char object_key_delimiter (void) const
 Return the object key delimiter to use or expect. More...
- Public Member Functions inherited from TAO_Connector
 TAO_Connector (CORBA::ULong tag)
 Default constructor. More...
virtual ~TAO_Connector (void)
 The destructor. More...
CORBA::ULong tag (void) const
int make_mprofile (const char *ior, TAO_MProfile &mprofile)
virtual TAO_Profilecorbaloc_scan (const char *ior, size_t &len)
virtual TAO_Transportconnect (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface *desc, ACE_Time_Value *timeout)
virtual TAO_Transportparallel_connect (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface *desc, ACE_Time_Value *timeout)

Protected Member Functions

virtual int supports_parallel_connects (void) const
int set_validate_endpoint (TAO_Endpoint *ep)
virtual TAO_Transportmake_connection (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface &desc, ACE_Time_Value *timeout=0)
 Make a connection. More...
virtual TAO_Transportmake_parallel_connection (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface &desc, ACE_Time_Value *timeout=0)
virtual TAO_Profilemake_profile (void)
virtual int cancel_svc_handler (TAO_Connection_Handler *svc_handler)
 Cancel the passed cvs handler from the connector. More...
- Protected Member Functions inherited from TAO_Connector
virtual int check_connection_closure (TAO_Connection_Handler *connection_handler)
 Check whether the connection is not closed. More...
virtual bool wait_for_connection_completion (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface &desc, TAO_Transport *&transport, ACE_Time_Value *timeout)
virtual bool wait_for_connection_completion (TAO::Profile_Transport_Resolver *r, TAO_Transport *&the_winner, TAO_Transport **transport, unsigned int count, TAO_LF_Multi_Event *mev, ACE_Time_Value *timeout)
void cleanup_pending (TAO_Transport *&the_winner, TAO_Transport **transport, unsigned int count)
bool new_connection_is_ok (size_t busy_count)
 See if a new connection is allowed. More...
bool wait_for_transport (TAO::Profile_Transport_Resolver *r, TAO_Transport *base_transport, ACE_Time_Value *timeout, bool force_wait)
void orb_core (TAO_ORB_Core *orb_core)
 Set the ORB Core pointer. More...
int create_connect_strategy (void)
 Create a connect strategy. More...
TAO_ORB_Coreorb_core (void)
 Return the TAO_ORB_Core pointer. More...

Private Member Functions

int begin_connection (TAO_IIOP_Connection_Handler *&svc_handler, TAO::Profile_Transport_Resolver *r, TAO_IIOP_Endpoint *endpoint, ACE_Time_Value *timeout=0)
TAO_Transportcomplete_connection (int result, TAO_Transport_Descriptor_Interface &desc, TAO_IIOP_Connection_Handler **&sh_list, TAO_IIOP_Endpoint **ep_list, unsigned count, TAO::Profile_Transport_Resolver *r, TAO_LF_Multi_Event *mev, ACE_Time_Value *timeout=0)
TAO_IIOP_Endpointremote_endpoint (TAO_Endpoint *ep)
 Return the remote endpoint, a helper function. More...

Private Attributes

 Our connect strategy. More...
 The connector initiating connection requests for IIOP. More...

Additional Inherited Members

- Protected Attributes inherited from TAO_Connector
 The (a)synch connect strategy. More...

Detailed Description

IIOP-specific Connector bridge for pluggable protocols.

Concrete instance of the TAO_Connector class. Responsible for establishing a connection with a server and is called from the Connector_Registory.

Member Typedef Documentation

Constructor & Destructor Documentation

TAO_IIOP_Connector::TAO_IIOP_Connector ( void  )


TAO_IIOP_Connector::~TAO_IIOP_Connector ( void  )


Member Function Documentation

int TAO_IIOP_Connector::begin_connection ( TAO_IIOP_Connection_Handler *&  svc_handler,
TAO::Profile_Transport_Resolver r,
TAO_IIOP_Endpoint endpoint,
ACE_Time_Value timeout = 0 

This is the first half of making a connection. Both make_connection and make_parallel_connection will start out using begin_connection.

int TAO_IIOP_Connector::cancel_svc_handler ( TAO_Connection_Handler svc_handler)

Cancel the passed cvs handler from the connector.

Implements TAO_Connector.

int TAO_IIOP_Connector::check_prefix ( const char *  endpoint)

Check that the prefix of the provided endpoint is valid for use with a given pluggable protocol.

Implements TAO_Connector.

int TAO_IIOP_Connector::close ( void  )

Shutdown Connector bridge and concrete Connector.

Implements TAO_Connector.

TAO_Transport * TAO_IIOP_Connector::complete_connection ( int  result,
TAO_Transport_Descriptor_Interface desc,
TAO_IIOP_Connection_Handler **&  sh_list,
TAO_IIOP_Endpoint **  ep_list,
unsigned  count,
TAO::Profile_Transport_Resolver r,
TAO_LF_Multi_Event mev,
ACE_Time_Value timeout = 0 

This is the second half of making a connection when several endpoints are involved. This works with modified wait strategies to wait for one of many transports, and when once completes it will cancel the rest. The winning transport is returned.

TAO_Profile * TAO_IIOP_Connector::create_profile ( TAO_InputCDR cdr)

Create a profile for this protocol and initialize it based on the encapsulation in cdr

Implements TAO_Connector.

TAO_Transport * TAO_IIOP_Connector::make_connection ( TAO::Profile_Transport_Resolver r,
TAO_Transport_Descriptor_Interface desc,
ACE_Time_Value timeout = 0 

Make a connection.

Implements TAO_Connector.

TAO_Transport * TAO_IIOP_Connector::make_parallel_connection ( TAO::Profile_Transport_Resolver r,
TAO_Transport_Descriptor_Interface desc,
ACE_Time_Value timeout = 0 

Make a connection using - not a pure virtual since not all protocols support this.

Reimplemented from TAO_Connector.

TAO_Profile * TAO_IIOP_Connector::make_profile ( void  )

More TAO_Connector methods, please check the documentation on Transport_Connector.h

Implements TAO_Connector.

char TAO_IIOP_Connector::object_key_delimiter ( void  ) const

Return the object key delimiter to use or expect.

Implements TAO_Connector.

int TAO_IIOP_Connector::open ( TAO_ORB_Core orb_core)

Initialize object and register with reactor.

Our connect creation strategy

Our activation strategy

Implements TAO_Connector.

TAO_IIOP_Endpoint * TAO_IIOP_Connector::remote_endpoint ( TAO_Endpoint ep)

Return the remote endpoint, a helper function.

int TAO_IIOP_Connector::set_validate_endpoint ( TAO_Endpoint endpoint)

Set and validate endpoint. We need to do this to initialize our remote *_Addr's which have not been done during IOR decode.

Implements TAO_Connector.

int TAO_IIOP_Connector::supports_parallel_connects ( void  ) const

A flag indicating the actual connector supports parallel connection attempts. The base implementation always returns 0. Override to return non-zero if parallel connection attempts may be tried.

Reimplemented from TAO_Connector.

Member Data Documentation

TAO_IIOP_BASE_CONNECTOR TAO_IIOP_Connector::base_connector_

The connector initiating connection requests for IIOP.

TAO_IIOP_CONNECT_STRATEGY TAO_IIOP_Connector::connect_strategy_

Our connect strategy.

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