#include <IIOP_Connector.h>
Public Types | |
typedef TAO_Connect_Concurrency_Strategy < TAO_IIOP_Connection_Handler > | TAO_IIOP_CONNECT_CONCURRENCY_STRATEGY |
typedef TAO_Connect_Creation_Strategy < TAO_IIOP_Connection_Handler > | TAO_IIOP_CONNECT_CREATION_STRATEGY |
typedef ACE_Connect_Strategy < TAO_IIOP_Connection_Handler, ACE_SOCK_CONNECTOR > | TAO_IIOP_CONNECT_STRATEGY |
typedef ACE_Strategy_Connector < TAO_IIOP_Connection_Handler, ACE_SOCK_CONNECTOR > | TAO_IIOP_BASE_CONNECTOR |
Public Member Functions | |
TAO_IIOP_Connector (void) | |
Constructor. | |
~TAO_IIOP_Connector (void) | |
Destructor. | |
int | open (TAO_ORB_Core *orb_core) |
Initialize object and register with reactor. | |
int | close (void) |
Shutdown Connector bridge and concrete Connector. | |
TAO_Profile * | create_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. | |
Protected Member Functions | |
virtual int | supports_parallel_connects (void) const |
int | set_validate_endpoint (TAO_Endpoint *ep) |
virtual TAO_Transport * | make_connection (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface &desc, ACE_Time_Value *timeout=0) |
Make a connection. | |
virtual TAO_Transport * | make_parallel_connection (TAO::Profile_Transport_Resolver *r, TAO_Transport_Descriptor_Interface &desc, ACE_Time_Value *timeout=0) |
virtual TAO_Profile * | make_profile (void) |
virtual int | cancel_svc_handler (TAO_Connection_Handler *svc_handler) |
Cancel the passed cvs handler from the connector. | |
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_Transport * | 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) |
TAO_IIOP_Endpoint * | remote_endpoint (TAO_Endpoint *ep) |
Return the remote endpoint, a helper function. | |
Private Attributes | |
TAO_IIOP_CONNECT_STRATEGY | connect_strategy_ |
Our connect strategy. | |
TAO_IIOP_BASE_CONNECTOR | base_connector_ |
The connector initiating connection requests for IIOP. |
Concrete instance of the TAO_Connector class. Responsible for establishing a connection with a server and is called from the Connector_Registory.
typedef ACE_Strategy_Connector<TAO_IIOP_Connection_Handler, ACE_SOCK_CONNECTOR> TAO_IIOP_Connector::TAO_IIOP_BASE_CONNECTOR |
typedef TAO_Connect_Concurrency_Strategy<TAO_IIOP_Connection_Handler> TAO_IIOP_Connector::TAO_IIOP_CONNECT_CONCURRENCY_STRATEGY |
typedef TAO_Connect_Creation_Strategy<TAO_IIOP_Connection_Handler> TAO_IIOP_Connector::TAO_IIOP_CONNECT_CREATION_STRATEGY |
typedef ACE_Connect_Strategy<TAO_IIOP_Connection_Handler, ACE_SOCK_CONNECTOR> TAO_IIOP_Connector::TAO_IIOP_CONNECT_STRATEGY |
TAO_IIOP_Connector::TAO_IIOP_Connector | ( | void | ) |
Constructor.
TAO_IIOP_Connector::~TAO_IIOP_Connector | ( | void | ) |
Destructor.
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 | |||
) | [private] |
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 | ) | [protected, virtual] |
int TAO_IIOP_Connector::check_prefix | ( | const char * | endpoint | ) | [virtual] |
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 | ) | [virtual] |
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 | |||
) | [private] |
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 | ) | [virtual] |
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 | |||
) | [protected, virtual] |
TAO_Transport * TAO_IIOP_Connector::make_parallel_connection | ( | TAO::Profile_Transport_Resolver * | r, | |
TAO_Transport_Descriptor_Interface & | desc, | |||
ACE_Time_Value * | timeout = 0 | |||
) | [protected, virtual] |
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 | ) | [protected, virtual] |
More TAO_Connector methods, please check the documentation on Transport_Connector.h
Implements TAO_Connector.
char TAO_IIOP_Connector::object_key_delimiter | ( | void | ) | const [virtual] |
int TAO_IIOP_Connector::open | ( | TAO_ORB_Core * | orb_core | ) | [virtual] |
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 | ) | [private] |
Return the remote endpoint, a helper function.
int TAO_IIOP_Connector::set_validate_endpoint | ( | TAO_Endpoint * | endpoint | ) | [protected, virtual] |
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 [protected, virtual] |
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.
The connector initiating connection requests for IIOP.
Our connect strategy.