#include <Profile_Transport_Resolver.h>
Collaboration diagram for TAO::Profile_Transport_Resolver:
Public Member Functions | |
Profile_Transport_Resolver (CORBA::Object *p, TAO_Stub *stub, bool block=true) | |
Constructor. | |
~Profile_Transport_Resolver (void) | |
void | resolve (ACE_Time_Value *val) throw (CORBA::SystemException) |
Method where the bunch of the action takes place. | |
void | transport_released (void) const |
bool | try_connect (TAO_Transport_Descriptor_Interface *desc, ACE_Time_Value *val) |
void | init_inconsistent_policies () throw (CORBA::SystemException) |
CORBA::PolicyList * | inconsistent_policies (void) const |
CORBA::PolicyList * | steal_inconsistent_policies (void) |
Accessors and mutators for this class. The following methods | |
are used by the clients of this class to access strategies and other internal workings. | |
void | profile (TAO_Profile *pfile) |
Mutator for profile. | |
TAO_Profile * | profile (void) const |
Accessor for profile. | |
TAO_Stub * | stub (void) const |
Accessor for TAO_Stub. | |
CORBA::Object * | object (void) const |
Accessor for the target in use. | |
TAO_Transport * | transport (void) const |
Accessor for the transport reserved for this invocation. | |
int | find_transport (TAO_Transport_Descriptor_Interface *) |
bool | blocked_connect (void) const |
Private Member Functions | |
bool | get_connection_timeout (ACE_Time_Value &max_wait_time) |
Private Attributes | |
CORBA::Object * | obj_ |
Target object. | |
TAO_Stub * | stub_ |
Stub object for the target object. | |
TAO_Transport * | transport_ |
The transport selected for this invocation. | |
TAO_Profile * | profile_ |
The profile that has been selected for this invocation. | |
CORBA::PolicyList * | inconsistent_policies_ |
List of inconsistent policies. | |
bool | is_released_ |
Has the transport been idle? | |
bool const | blocked_ |
Should we block while trying to make a connection. |
A target object is represented by multiple profiles, which theoretically provides multiple paths to the same target object. This class helps in choosing the right profile, and pick a transport from cache (or create a new transport if needed) that represents the profile.
|
Constructor. With block we tell whether this resolved should always deliver a connection by blocking or unblock before the connection is completely established. Please note that this has *nothing* to do with the synchronous or asynch connect strategy used for making connections. This is a local flag used by the clients of this to dictate some local behavior. |
|
|
|
Accessor to indicate whether we should block while establishing a connection. |
|
See if the transport cache has an available transport and use that one rather than trying to connect via the connector. Separating this functionality enables the look up of many endpoints before trying the more time-consuming trip through the actual connector. |
|
Helper method to access get the connection timeout from the ORB. |
|
|
|
Initialize the inconsistent policy list that this object has cached. |
|
Accessor for the target in use.
|
|
Accessor for profile.
|
|
Mutator for profile.
|
|
Method where the bunch of the action takes place. This is the entry point from the TAO::Invocation_Adapter class. This method accesses the endpoint selector factory from the ORB_Core to decide on the strategy to be used for selecting the profile. |
|
|
|
Accessor for TAO_Stub.
|
|
Accessor for the transport reserved for this invocation.
|
|
Signal to let the resolver know that the transport has been released back to the cache. |
|
This is a callback method used by the endpoint selectors, to delegate the responsibility of reserving a transport from the connection cache for this invocation. |
|
Should we block while trying to make a connection.
|
|
List of inconsistent policies. If current effective policies cause the invocation to raise CORBA::INV_POLICY exception, the conflicting/problematic policies are stored in this list. This is used by
|
|
Has the transport been idle?
|
|
Target object.
|
|
The profile that has been selected for this invocation.
|
|
Stub object for the target object.
|
|
The transport selected for this invocation.
|