summaryrefslogtreecommitdiff
path: root/TAO/tao/Profile_Transport_Resolver.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Profile_Transport_Resolver.h')
-rw-r--r--TAO/tao/Profile_Transport_Resolver.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/TAO/tao/Profile_Transport_Resolver.h b/TAO/tao/Profile_Transport_Resolver.h
index 5ec4889a76b..34cef016395 100644
--- a/TAO/tao/Profile_Transport_Resolver.h
+++ b/TAO/tao/Profile_Transport_Resolver.h
@@ -130,13 +130,27 @@ namespace TAO
/// released back to the cache.
void transport_released (void) const;
- /// This is a callback method used by the endpoint selectors, to
+ /// 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.
+ /// connection cache for this invocation. When the descriptor
+ /// contains more than one endpoint (as part of a linked list) and
+ /// the parallel flag is true then the connector will look for a
+ /// connection on any of the endpoints if it supports that
+ /// behavior, otherwise an ENOTSUP errno will be set and the
+ /// method will return false.
bool try_connect (TAO_Transport_Descriptor_Interface *desc,
ACE_Time_Value *val
ACE_ENV_ARG_DECL);
+ bool try_parallel_connect (TAO_Transport_Descriptor_Interface *desc,
+ ACE_Time_Value *val
+ ACE_ENV_ARG_DECL);
+
+ /// This method wraps a call to the orb core to see if parallel
+ /// connection attempts are even desired. This is controlled by
+ /// the -ORBUseParallelConnects 1|0 commandline option.
+ bool use_parallel_connect (void) const;
+
/// Initialize the inconsistent policy list that this object has
/// cached.
void init_inconsistent_policies (ACE_ENV_SINGLE_ARG_DECL)
@@ -152,6 +166,10 @@ namespace TAO
bool get_connection_timeout (ACE_Time_Value &max_wait_time);
private:
+ bool try_connect_i (TAO_Transport_Descriptor_Interface *desc,
+ ACE_Time_Value *val,
+ bool parallel
+ ACE_ENV_ARG_DECL);
/// Target object
mutable CORBA::Object *obj_;