#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 ACE_ENV_ARG_DECL) 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 ACE_ENV_ARG_DECL) |
void | init_inconsistent_policies (ACE_ENV_SINGLE_ARG_DECL) throw (CORBA::SystemException) |
CORBA::PolicyList * | inconsistent_policies (void) const |
CORBA::PolicyList * | steal_inconsistent_policies (void) |
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. | |
bool | blocked (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. | |
bool | is_released_ |
Has the transport been idle? | |
CORBA::PolicyList * | inconsistent_policies_ |
List of inconsistent policies. | |
const bool | 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 deliver a connection blocking for completed connections |
|
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. Accessors and mutators for this class. The following methods are used by the clients of this class to access strategies and other internal workings. |
|
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.
|