summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarvindk <arvindk@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-04 17:36:53 +0000
committerarvindk <arvindk@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2005-01-04 17:36:53 +0000
commit31ee6b0f001e9babc67b399dcf5e7234db16b1ec (patch)
tree9254bc302905e3b2c5428818e224089974623a01
parent7577db278c11b9ddff8728035832fa7a9bc80650 (diff)
downloadATCD-31ee6b0f001e9babc67b399dcf5e7234db16b1ec.tar.gz
ChangelogTag: Tue Jan 4 09:17:53 2005 Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
-rw-r--r--TAO/tao/IIOP_Connector.cpp47
-rw-r--r--TAO/tao/IIOP_Connector.h15
-rw-r--r--TAO/tao/IIOP_Factory.cpp12
-rw-r--r--TAO/tao/IIOP_Lite_Factory.cpp11
-rw-r--r--TAO/tao/Invocation_Adapter.cpp48
-rw-r--r--TAO/tao/Invocation_Adapter.h31
-rw-r--r--TAO/tao/Invocation_Endpoint_Selectors.cpp2
-rw-r--r--TAO/tao/Object.cpp28
-rw-r--r--TAO/tao/Profile_Transport_Resolver.cpp8
-rw-r--r--TAO/tao/Profile_Transport_Resolver.h4
-rw-r--r--TAO/tao/Thread_Lane_Resources.cpp2
-rw-r--r--TAO/tao/Thread_Per_Connection_Handler.cpp8
-rw-r--r--TAO/tao/Transport.cpp2
-rw-r--r--TAO/tao/Transport.h3
-rw-r--r--TAO/tao/Transport_Cache_Manager.cpp156
-rw-r--r--TAO/tao/Transport_Cache_Manager.h4
-rw-r--r--TAO/tao/Transport_Cache_Manager.inl45
-rw-r--r--TAO/tao/default_client.cpp21
-rw-r--r--TAO/tao/default_client.h4
-rw-r--r--TAO/tao/tao.mpc26
20 files changed, 416 insertions, 61 deletions
diff --git a/TAO/tao/IIOP_Connector.cpp b/TAO/tao/IIOP_Connector.cpp
index 367f636c3a5..85d18237e5e 100644
--- a/TAO/tao/IIOP_Connector.cpp
+++ b/TAO/tao/IIOP_Connector.cpp
@@ -7,18 +7,23 @@
#include "Connect_Strategy.h"
#include "Thread_Lane_Resources.h"
#include "Profile_Transport_Resolver.h"
-#include "Transport.h"
+
#include "Wait_Strategy.h"
#include "SystemException.h"
#include "ace/OS_NS_strings.h"
#include "ace/OS_NS_string.h"
+#if !defined (TAO_HAS_COLLOCATION)
+# include "Transport.h"
+#endif
ACE_RCSID (tao,
IIOP_Connector,
"$Id$")
+#if !defined (TAO_HAS_COLLOCATION)
+
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class TAO_Connect_Concurrency_Strategy<TAO_IIOP_Connection_Handler>;
template class TAO_Connect_Creation_Strategy<TAO_IIOP_Connection_Handler>;
@@ -40,11 +45,17 @@ template class ACE_NonBlocking_Connect_Handler<TAO_IIOP_Connection_Handler>;
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
+#endif
+
TAO_IIOP_Connector::TAO_IIOP_Connector (CORBA::Boolean flag)
: TAO_Connector (IOP::TAG_INTERNET_IOP)
, lite_flag_ (flag)
+
+#if !defined (TAO_HAS_COLLOCATION)
, connect_strategy_ ()
, base_connector_ ()
+#endif
+
{
}
@@ -55,6 +66,8 @@ TAO_IIOP_Connector::~TAO_IIOP_Connector (void)
int
TAO_IIOP_Connector::open (TAO_ORB_Core *orb_core)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// @@todo: The functionality of the following two statements could
// be done in the constructor, but that involves changing the
// interface of the pluggable transport factory.
@@ -87,14 +100,26 @@ TAO_IIOP_Connector::open (TAO_ORB_Core *orb_core)
connect_creation_strategy,
&this->connect_strategy_,
concurrency_strategy);
+#else
+ ACE_UNUSED_ARG (orb_core);
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+#endif
+
}
int
TAO_IIOP_Connector::close (void)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
+
delete this->base_connector_.concurrency_strategy ();
delete this->base_connector_.creation_strategy ();
return this->base_connector_.close ();
+#else
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+#endif
+
}
int
@@ -134,6 +159,9 @@ TAO_IIOP_Connector::make_connection (TAO::Profile_Transport_Resolver *r,
TAO_Transport_Descriptor_Interface &desc,
ACE_Time_Value *timeout)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
+
TAO_IIOP_Endpoint *iiop_endpoint =
this->remote_endpoint (desc.endpoint ());
@@ -175,8 +203,6 @@ TAO_IIOP_Connector::make_connection (TAO::Profile_Transport_Resolver *r,
timeout = &tmp_zero;
}
- TAO_IIOP_Connection_Handler *svc_handler = 0;
-
int result =
this->base_connector_.connect (svc_handler,
remote_address,
@@ -303,8 +329,16 @@ TAO_IIOP_Connector::make_connection (TAO::Profile_Transport_Resolver *r,
}
return transport;
+
+#else
+ ACE_UNUSED_ARG (r);
+ ACE_UNUSED_ARG (desc);
+ ACE_UNUSED_ARG (timeout);
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+#endif
}
+
TAO_Profile *
TAO_IIOP_Connector::create_profile (TAO_InputCDR& cdr)
{
@@ -323,6 +357,7 @@ TAO_IIOP_Connector::create_profile (TAO_InputCDR& cdr)
return pfile;
}
+
TAO_Profile *
TAO_IIOP_Connector::make_profile (ACE_ENV_SINGLE_ARG_DECL)
{
@@ -399,6 +434,8 @@ int
TAO_IIOP_Connector::cancel_svc_handler (
TAO_Connection_Handler * svc_handler)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
TAO_IIOP_Connection_Handler* handler=
dynamic_cast<TAO_IIOP_Connection_Handler*>(svc_handler);
@@ -413,4 +450,8 @@ TAO_IIOP_Connector::cancel_svc_handler (
{
return -1;
}
+#else
+ ACE_UNUSED_ARG (svc_handler);
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+#endif
}
diff --git a/TAO/tao/IIOP_Connector.h b/TAO/tao/IIOP_Connector.h
index 2f7d91f769c..8dea308aa84 100644
--- a/TAO/tao/IIOP_Connector.h
+++ b/TAO/tao/IIOP_Connector.h
@@ -33,7 +33,6 @@
class TAO_IIOP_Endpoint;
-
// ****************************************************************
/**
@@ -67,6 +66,8 @@ public:
public:
+#if !defined (TAO_HAS_COLLOCATION)
+
typedef TAO_Connect_Concurrency_Strategy<TAO_IIOP_Connection_Handler>
TAO_IIOP_CONNECT_CONCURRENCY_STRATEGY;
@@ -80,6 +81,7 @@ public:
typedef ACE_Strategy_Connector<TAO_IIOP_Connection_Handler,
ACE_SOCK_CONNECTOR>
TAO_IIOP_BASE_CONNECTOR;
+#endif
protected:
@@ -87,10 +89,6 @@ protected:
// Transport_Connector.h
int set_validate_endpoint (TAO_Endpoint *ep);
- TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r,
- TAO_Transport_Descriptor_Interface &desc,
- ACE_Time_Value *timeout = 0);
-
/// More TAO_Connector methods, please check the documentation on
/// Transport_Connector.h
virtual TAO_Profile *make_profile (ACE_ENV_SINGLE_ARG_DECL);
@@ -98,6 +96,9 @@ protected:
/// Cancel the passed cvs handler from the connector
virtual int cancel_svc_handler (TAO_Connection_Handler * svc_handler);
+ TAO_Transport *make_connection (TAO::Profile_Transport_Resolver *r,
+ TAO_Transport_Descriptor_Interface &desc,
+ ACE_Time_Value *timeout = 0);
protected:
/// Do we need to use a GIOP_Lite for sending messages?
@@ -110,11 +111,15 @@ private:
private:
+#if !defined (TAO_HAS_COLLOCATION)
+
/// Our connect strategy
TAO_IIOP_CONNECT_STRATEGY connect_strategy_;
/// The connector initiating connection requests for IIOP.
TAO_IIOP_BASE_CONNECTOR base_connector_;
+#endif
+
};
diff --git a/TAO/tao/IIOP_Factory.cpp b/TAO/tao/IIOP_Factory.cpp
index 852fde2c935..da662ee63f2 100644
--- a/TAO/tao/IIOP_Factory.cpp
+++ b/TAO/tao/IIOP_Factory.cpp
@@ -1,6 +1,10 @@
#include "IIOP_Factory.h"
#include "IIOP_Acceptor.h"
-#include "IIOP_Connector.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "IIOP_Connector.h"
+#endif
+
#include "IOP_IORC.h"
#include "ace/OS_NS_strings.h"
@@ -65,12 +69,18 @@ TAO_IIOP_Protocol_Factory::init (int /* argc */,
TAO_Connector *
TAO_IIOP_Protocol_Factory::make_connector (void)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
TAO_Connector *connector = 0;
ACE_NEW_RETURN (connector,
TAO_IIOP_Connector,
0);
return connector;
+#else
+ return 0;
+#endif
+
}
int
diff --git a/TAO/tao/IIOP_Lite_Factory.cpp b/TAO/tao/IIOP_Lite_Factory.cpp
index 0790993aeeb..dfc6bf9431e 100644
--- a/TAO/tao/IIOP_Lite_Factory.cpp
+++ b/TAO/tao/IIOP_Lite_Factory.cpp
@@ -1,6 +1,10 @@
#include "IIOP_Lite_Factory.h"
#include "IIOP_Acceptor.h"
-#include "IIOP_Connector.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "IIOP_Connector.h"
+#endif
+
#include "IOP_IORC.h"
#include "ace/OS_NS_strings.h"
@@ -68,6 +72,8 @@ TAO_IIOP_Lite_Protocol_Factory::init (int /*argc*/,
TAO_Connector *
TAO_IIOP_Lite_Protocol_Factory::make_connector (void)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
TAO_Connector *connector = 0;
// We are a Lite factory
@@ -77,6 +83,9 @@ TAO_IIOP_Lite_Protocol_Factory::make_connector (void)
TAO_IIOP_Connector (lite_flag),
0);
return connector;
+#else
+ return 0;
+#endif
}
int
diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp
index 6331f852eca..4b4619975cc 100644
--- a/TAO/tao/Invocation_Adapter.cpp
+++ b/TAO/tao/Invocation_Adapter.cpp
@@ -1,15 +1,21 @@
//$Id$
#include "Invocation_Adapter.h"
-#include "Profile_Transport_Resolver.h"
+
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
+# include "Profile_Transport_Resolver.h"
+# include "Synch_Invocation.h"
+# include "Transport_Mux_Strategy.h"
+# include "Transport.h"
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
+
#include "operation_details.h"
#include "Stub.h"
#include "ORB_Core.h"
-#include "Synch_Invocation.h"
#include "debug.h"
#include "Collocated_Invocation.h"
-#include "Transport.h"
-#include "Transport_Mux_Strategy.h"
#include "Collocation_Proxy_Broker.h"
#if !defined (__ACE_INLINE__)
@@ -59,27 +65,40 @@ namespace TAO
// Initial state
TAO::Invocation_Status status = TAO_INVOKE_START;
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
ACE_Time_Value *max_wait_time = 0;
while (status == TAO_INVOKE_START ||
status == TAO_INVOKE_RESTART)
{
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
+
// Default we go to remote
Collocation_Strategy strat = TAO_CS_REMOTE_STRATEGY;
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
// If we have a collocated proxy broker we look if we maybe
// can use a collocated invocation.
if (cpb_ != 0)
{
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
strat =
TAO_ORB_Core::collocation_strategy (effective_target.in ()
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
+
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
}
if (strat == TAO_CS_REMOTE_STRATEGY ||
strat == TAO_CS_LAST)
{
+
status =
this->invoke_remote_i (stub,
details,
@@ -90,6 +109,8 @@ namespace TAO
}
else
{
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
status =
this->invoke_collocated_i (stub,
details,
@@ -97,6 +118,9 @@ namespace TAO
strat
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
+
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
}
if (status == TAO_INVOKE_RESTART)
@@ -112,6 +136,8 @@ namespace TAO
}
}
}
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
}
bool
@@ -150,9 +176,11 @@ namespace TAO
Collocation_Strategy strat
ACE_ENV_ARG_DECL)
{
+#if !defined (TAO_HAS_COLLOCATION)
// To make a collocated call we must have a collocated proxy broker, the
// invoke_i() will make sure that we only come here when we have one
ACE_ASSERT (cpb_ != 0);
+#endif
// Initial state
TAO::Invocation_Status status = TAO_INVOKE_START;
@@ -169,6 +197,7 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
+#if !defined (TAO_HAS_COLLOCATION)
if (status == TAO_INVOKE_RESTART &&
coll_inv.is_forwarded ())
{
@@ -180,10 +209,14 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
}
+#endif
return status;
}
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
+
void
Invocation_Adapter::set_response_flags (
TAO_Stub *stub,
@@ -195,7 +228,7 @@ namespace TAO
{
// Grab the syncscope policy from the ORB.
Messaging::SyncScope sync_scope;
-
+
bool has_synchronization = false;
stub->orb_core ()->call_sync_scope_hook (stub,
@@ -220,6 +253,7 @@ namespace TAO
return;
}
+
Invocation_Status
Invocation_Adapter::invoke_remote_i (TAO_Stub *stub,
TAO_Operation_Details &details,
@@ -378,4 +412,8 @@ namespace TAO
return;
}
+
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
+
} // End namespace TAO
diff --git a/TAO/tao/Invocation_Adapter.h b/TAO/tao/Invocation_Adapter.h
index 23e75c89b8a..fc2c088ca25 100644
--- a/TAO/tao/Invocation_Adapter.h
+++ b/TAO/tao/Invocation_Adapter.h
@@ -6,7 +6,8 @@
*
* $Id$
*
- * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ * @author Originally Balachandran Natarajan <bala@dre.vanderbilt.edu>
+ * @author Modified Arvind S. Krishna <arvindk@dre.vanderbilt.edu>
*/
//=============================================================================
#ifndef TAO_INVOCATION_ADAPTER_H
@@ -151,11 +152,11 @@ namespace TAO
* SII, AMI, DII and DSI. All the subclasses implement these
* methods to get the right behaviour at their level.
*/
- //@{
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
/// Helper method that prepares the necessary stuff for a remote
/// invocation.
-
/*
* This method does the following essential activities needed for
* a remote invocation.
@@ -174,6 +175,8 @@ namespace TAO
CORBA::Object_var &effective_target,
ACE_Time_Value *&max_wait_time
ACE_ENV_ARG_DECL);
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
/// Make a collocated call.
/**
@@ -193,6 +196,8 @@ namespace TAO
Collocation_Strategy strat
ACE_ENV_ARG_DECL);
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
/// Helper method to make a two way invocation.
/**
* This method creates a synchronous twoway invocation object to
@@ -222,14 +227,6 @@ namespace TAO
ACE_ENV_ARG_DECL);
//@}
- /// Helper function that extracts the roundtrip timeout policies
- /// set in the ORB.
- bool get_timeout (TAO_Stub *stub,
- ACE_Time_Value &val);
-
- /// Helper method that extracts TAO_Stub from the target object.
- TAO_Stub *get_stub (ACE_ENV_SINGLE_ARG_DECL) const;
-
/// Helper method that takes care of setting the profiles within
/// the stub object if the target gets forwarded
void object_forwarded (CORBA::Object_var &effective_target,
@@ -239,6 +236,16 @@ namespace TAO
/// Helper method to set the response flags within @a details
void set_response_flags (TAO_Stub *stub,
TAO_Operation_Details &details);
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
+
+ /// Helper function that extracts the roundtrip timeout policies
+ /// set in the ORB.
+ bool get_timeout (TAO_Stub *stub,
+ ACE_Time_Value &val);
+
+ /// Helper method that extracts TAO_Stub from the target object.
+ TAO_Stub *get_stub (ACE_ENV_SINGLE_ARG_DECL) const;
protected:
@@ -266,6 +273,8 @@ namespace TAO
/// The invocation type
Invocation_Type type_;
+ //@@ Need to remove this when collocation is enabled however, this
+ // also needs to be done in the generated code.
/// The invocation mode
Invocation_Mode mode_;
diff --git a/TAO/tao/Invocation_Endpoint_Selectors.cpp b/TAO/tao/Invocation_Endpoint_Selectors.cpp
index 42a2075a302..a295a207f41 100644
--- a/TAO/tao/Invocation_Endpoint_Selectors.cpp
+++ b/TAO/tao/Invocation_Endpoint_Selectors.cpp
@@ -34,6 +34,7 @@ TAO_Default_Endpoint_Selector::~TAO_Default_Endpoint_Selector (void)
{
}
+#if !defined (TAO_HAS_COLLOCATION)
void
TAO_Default_Endpoint_Selector::select_endpoint (
TAO::Profile_Transport_Resolver *r,
@@ -81,3 +82,4 @@ TAO_Default_Endpoint_Selector::select_endpoint (
ACE_THROW (CORBA::TRANSIENT (CORBA::OMGVMCID | 2,
CORBA::COMPLETED_NO));
}
+#endif
diff --git a/TAO/tao/Object.cpp b/TAO/tao/Object.cpp
index 9128c56a59a..3a2a669332c 100644
--- a/TAO/tao/Object.cpp
+++ b/TAO/tao/Object.cpp
@@ -11,11 +11,21 @@
#include "Profile.h"
#include "ORB_Core.h"
#include "Connector_Registry.h"
-#include "LocateRequest_Invocation_Adapter.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "LocateRequest_Invocation_Adapter.h"
+#endif /* TAO_HAS_COLLOCATION */
+
#include "debug.h"
#include "Dynamic_Adapter.h"
#include "IFR_Client_Adapter.h"
-#include "Remote_Object_Proxy_Broker.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "Remote_Object_Proxy_Broker.h"
+#else
+# include "tao/Object_Proxy_Broker.h"
+#endif
+
#include "CDR.h"
#include "SystemException.h"
#include "PolicyC.h"
@@ -27,7 +37,6 @@
# include "tao/Object.i"
#endif /* ! __ACE_INLINE__ */
-
ACE_RCSID (tao,
Object,
"$Id$")
@@ -68,13 +77,17 @@ CORBA::Object::Object (TAO_Stub * protocol_proxy,
// If the object is collocated then set the broker using the
// factory otherwise use the remote proxy broker.
+#if !defined (TAO_HAS_COLLOCATION)
if (this->is_collocated_ &&
_TAO_Object_Proxy_Broker_Factory_function_pointer != 0)
+#endif
this->proxy_broker_ =
_TAO_Object_Proxy_Broker_Factory_function_pointer (this);
+#if !defined (TAO_HAS_COLLOCATION)
else
this->proxy_broker_ =
the_tao_remote_object_proxy_broker ();
+#endif
}
CORBA::Object::Object (IOP::IOR *ior,
@@ -587,6 +600,8 @@ CORBA::Object::_validate_connection (
if (this->is_collocated_)
return !(this->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER));
+//@@ TAO_HAS_COLLOCATION -- start
+#if !defined (TAO_HAS_COLLOCATION)
TAO::LocateRequest_Invocation_Adapter tao_call (this);
ACE_TRY
{
@@ -607,6 +622,9 @@ CORBA::Object::_validate_connection (
ACE_CHECK_RETURN (false);
retval = true;
+#endif
+//@@ TAO_HAS_COLLOCATION -- end
+
#endif /* TAO_HAS_MINIMUM_CORBA */
return retval;
@@ -766,14 +784,18 @@ CORBA::Object::tao_object_initialize (CORBA::Object *obj)
obj->protocol_proxy_ = objdata;
+#if !defined (TAO_HAS_COLLOCATION)
// If the object is collocated then set the broker using the
// factory otherwise use the remote proxy broker.
if (obj->is_collocated_ &&
_TAO_Object_Proxy_Broker_Factory_function_pointer != 0)
+#endif
obj->proxy_broker_ =
_TAO_Object_Proxy_Broker_Factory_function_pointer (obj);
+#if !defined (TAO_HAS_COLLOCATION)
else
obj->proxy_broker_ = the_tao_remote_object_proxy_broker ();
+#endif
obj->is_evaluated_ = 1;
diff --git a/TAO/tao/Profile_Transport_Resolver.cpp b/TAO/tao/Profile_Transport_Resolver.cpp
index 42a79a32eb5..817fdda6f96 100644
--- a/TAO/tao/Profile_Transport_Resolver.cpp
+++ b/TAO/tao/Profile_Transport_Resolver.cpp
@@ -9,7 +9,11 @@
#include "Endpoint_Selector_Factory.h"
#include "Codeset_Manager.h"
#include "Connector_Registry.h"
-#include "Transport_Connector.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "Transport_Connector.h"
+#endif
+
#include "Endpoint.h"
#include "SystemException.h"
@@ -67,6 +71,7 @@ namespace TAO
}
+#if !defined (TAO_HAS_COLLOCATION)
void
Profile_Transport_Resolver::resolve (ACE_Time_Value *max_time_val
ACE_ENV_ARG_DECL)
@@ -183,6 +188,7 @@ namespace TAO
return true;
}
+#endif
bool
Profile_Transport_Resolver::get_connection_timeout (
diff --git a/TAO/tao/Profile_Transport_Resolver.h b/TAO/tao/Profile_Transport_Resolver.h
index 2dadf94bb98..44baa114c0f 100644
--- a/TAO/tao/Profile_Transport_Resolver.h
+++ b/TAO/tao/Profile_Transport_Resolver.h
@@ -83,9 +83,11 @@ namespace TAO
* the ORB_Core to decide on the strategy to be used for selecting
* the profile.
*/
+#if !defined (TAO_HAS_COLLOCATION)
void resolve (ACE_Time_Value *val
ACE_ENV_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
+#endif
//@{
/**
@@ -118,12 +120,14 @@ namespace TAO
/// released back to the cache.
void transport_released (void) const;
+#if !defined (TAO_HAS_COLLOCATION)
/// 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.
bool try_connect (TAO_Transport_Descriptor_Interface *desc,
ACE_Time_Value *val
ACE_ENV_ARG_DECL);
+#endif
/// Initialize the inconsistent policy list that this object has
/// cached.
diff --git a/TAO/tao/Thread_Lane_Resources.cpp b/TAO/tao/Thread_Lane_Resources.cpp
index 2357bf457f7..74e95321ac6 100644
--- a/TAO/tao/Thread_Lane_Resources.cpp
+++ b/TAO/tao/Thread_Lane_Resources.cpp
@@ -411,8 +411,10 @@ TAO_Thread_Lane_Resources::finalize (void)
// Connection is closed. Potential removal from the Reactor.
(*handler)->close_connection ();
+#if !defined (TAO_HAS_COLLOCATION)
// #REFCOUNT# related to the handler set decreases.
(*handler)->transport ()->remove_reference ();
+#endif
}
delete this->transport_cache_;
diff --git a/TAO/tao/Thread_Per_Connection_Handler.cpp b/TAO/tao/Thread_Per_Connection_Handler.cpp
index 6cd522c8298..ad22ef375aa 100644
--- a/TAO/tao/Thread_Per_Connection_Handler.cpp
+++ b/TAO/tao/Thread_Per_Connection_Handler.cpp
@@ -16,13 +16,13 @@ TAO_Thread_Per_Connection_Handler::TAO_Thread_Per_Connection_Handler (
: TAO_TPC_BASE (oc->thr_mgr ())
, ch_ (ch)
{
- this->ch_->transport ()->add_reference ();
+ //this->ch_->transport ()->add_reference ();
}
TAO_Thread_Per_Connection_Handler::~TAO_Thread_Per_Connection_Handler (void)
{
this->ch_->close_connection ();
- this->ch_->transport ()->remove_reference ();
+ //this->ch_->transport ()->remove_reference ();
}
int
@@ -61,11 +61,15 @@ TAO_Thread_Per_Connection_Handler::activate (long flags,
int
TAO_Thread_Per_Connection_Handler::svc (void)
{
+#if !defined (TAO_HAS_COLLOCATION)
ACE::clr_flags (this->ch_->transport ()->event_handler_i ()->get_handle (),
ACE_NONBLOCK);
// Call the implementation here
return this->ch_->svc_i ();
+#else
+ return 1;
+#endif
}
int
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp
index 16f5fcd1c3c..0af8fccf9c6 100644
--- a/TAO/tao/Transport.cpp
+++ b/TAO/tao/Transport.cpp
@@ -164,12 +164,14 @@ TAO_Transport::~TAO_Transport (void)
ACE_ASSERT (this->cache_map_entry_ == 0);
}
+#if !defined (TAO_HAS_COLLOCATION)
void
TAO_Transport::provide_handler (TAO_Connection_Handler_Set &handlers)
{
this->add_reference ();
handlers.insert (this->connection_handler_i ());
}
+#endif
bool
TAO_Transport::idle_after_send (void)
diff --git a/TAO/tao/Transport.h b/TAO/tao/Transport.h
index ff9e669037d..8274dc3e1cd 100644
--- a/TAO/tao/Transport.h
+++ b/TAO/tao/Transport.h
@@ -33,6 +33,7 @@ class TAO_Target_Specification;
class TAO_Operation_Details;
class TAO_Transport_Mux_Strategy;
class TAO_Wait_Strategy;
+
class TAO_Connection_Handler;
class TAO_Pluggable_Messaging;
class TAO_Codeset_Translator_Factory;
@@ -309,6 +310,7 @@ public:
*/
int queue_is_empty (void);
+#if !defined (TAO_HAS_COLLOCATION)
/// Added event handler to the handlers set.
/**
* Called by the cache when the cache is closing.
@@ -317,6 +319,7 @@ public:
* transport should place its handler
*/
void provide_handler (TAO_Connection_Handler_Set &handlers);
+#endif
/// Register the handler with the reactor.
/**
diff --git a/TAO/tao/Transport_Cache_Manager.cpp b/TAO/tao/Transport_Cache_Manager.cpp
index dbeaa8552d3..649e82aa281 100644
--- a/TAO/tao/Transport_Cache_Manager.cpp
+++ b/TAO/tao/Transport_Cache_Manager.cpp
@@ -1,10 +1,16 @@
//$Id$
#include "tao/Transport_Cache_Manager.h"
-#include "tao/Transport.h"
-#include "tao/debug.h"
-#include "tao/ORB_Core.h"
-#include "tao/Connection_Purging_Strategy.h"
-#include "tao/Condition.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "tao/Transport.h"
+# include "tao/debug.h"
+# include "tao/ORB_Core.h"
+# include "tao/Connection_Purging_Strategy.h"
+# include "tao/Condition.h"
+#else
+# include "ace/CORBA_macros.h"
+# include "tao/SystemException.h"
+#endif
#if !defined (__ACE_INLINE__)
# include "tao/Transport_Cache_Manager.inl"
@@ -12,13 +18,13 @@
#include "ace/ACE.h"
-
ACE_RCSID (tao,
Transport_Cache_Manager,
"$Id$")
-
TAO_Transport_Cache_Manager::TAO_Transport_Cache_Manager (TAO_ORB_Core &orb_core)
+
+#if !defined (TAO_HAS_COLLOCATION)
: percent_ (orb_core.resource_factory ()->purge_percentage ())
, purging_strategy_ (orb_core.resource_factory ()->create_purging_strategy ())
, cache_map_ (orb_core.resource_factory ()->cache_maximum ())
@@ -27,7 +33,10 @@ TAO_Transport_Cache_Manager::TAO_Transport_Cache_Manager (TAO_ORB_Core &orb_core
, muxed_number_ (orb_core.resource_factory ()->max_muxed_connections ())
, no_waiting_threads_ (0)
, last_entry_returned_ (0)
+#endif
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if (orb_core.resource_factory ()->locked_transport_cache ())
{
ACE_NEW (this->condition_,
@@ -45,10 +54,27 @@ TAO_Transport_Cache_Manager::TAO_Transport_Cache_Manager (TAO_ORB_Core &orb_core
ACE_NEW (this->cache_lock_,
ACE_Lock_Adapter<ACE_SYNCH_NULL_MUTEX>);
}
+
+#else
+ ACE_UNUSED_ARG (orb_core);
+#endif
}
+TAO_Transport_Cache_Manager::HASH_MAP &
+TAO_Transport_Cache_Manager::map (void)
+{
+#if !defined (TAO_HAS_COLLOCATION)
+ return this->cache_map_;
+#else
+ ACE_THROW (CORBA::NO_IMPLEMENT ());
+#endif
+}
+
+
TAO_Transport_Cache_Manager::~TAO_Transport_Cache_Manager (void)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// Wakeup all the waiting threads threads before we shutdown stuff
if (this->no_waiting_threads_)
{
@@ -75,6 +101,9 @@ TAO_Transport_Cache_Manager::~TAO_Transport_Cache_Manager (void)
delete this->condition_;
this->condition_ = 0;
}
+
+#endif
+
}
@@ -82,6 +111,8 @@ int
TAO_Transport_Cache_Manager::bind_i (TAO_Cache_ExtId &ext_id,
TAO_Cache_IntId &int_id)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if (TAO_debug_level > 0)
{
ACE_DEBUG ((LM_DEBUG,
@@ -144,6 +175,12 @@ TAO_Transport_Cache_Manager::bind_i (TAO_Cache_ExtId &ext_id,
}
return retval;
+#else
+ ACE_UNUSED_ARG (ext_id);
+ ACE_UNUSED_ARG (int_id);
+ return 0;
+#endif
+
}
int
@@ -151,6 +188,8 @@ TAO_Transport_Cache_Manager::find_transport (
TAO_Transport_Descriptor_Interface *prop,
TAO_Transport *&transport)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if (prop == 0)
{
transport = 0;
@@ -169,12 +208,20 @@ TAO_Transport_Cache_Manager::find_transport (
}
return retval;
+#else
+ ACE_UNUSED_ARG (prop);
+ ACE_UNUSED_ARG (transport);
+ return 0;
+#endif
+
}
int
TAO_Transport_Cache_Manager::find (const TAO_Cache_ExtId &key,
TAO_Cache_IntId &value)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
ACE_MT (ACE_GUARD_RETURN (ACE_Lock,
guard,
*this->cache_lock_,
@@ -191,12 +238,20 @@ TAO_Transport_Cache_Manager::find (const TAO_Cache_ExtId &key,
}
return status;
+#else
+ return 0;
+ ACE_UNUSED_ARG (key);
+ ACE_UNUSED_ARG (value);
+#endif
+
}
int
TAO_Transport_Cache_Manager::find_i (const TAO_Cache_ExtId &key,
TAO_Cache_IntId &value)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
HASH_MAP_ENTRY *entry = 0;
// Get the entry from the Hash Map
@@ -258,11 +313,20 @@ TAO_Transport_Cache_Manager::find_i (const TAO_Cache_ExtId &key,
}
return retval;
+
+#else
+ ACE_UNUSED_ARG (key);
+ ACE_UNUSED_ARG (value);
+ return 0;
+#endif
+
}
int
TAO_Transport_Cache_Manager::make_idle_i (HASH_MAP_ENTRY *&entry)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if (entry == 0)
return -1;
@@ -279,11 +343,18 @@ TAO_Transport_Cache_Manager::make_idle_i (HASH_MAP_ENTRY *&entry)
}
return 0;
+#else
+ ACE_UNUSED_ARG (entry);
+ return 0;
+#endif
+
}
int
TAO_Transport_Cache_Manager::update_entry (HASH_MAP_ENTRY *&entry)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if(entry == 0)
{
return -1;
@@ -302,11 +373,19 @@ TAO_Transport_Cache_Manager::update_entry (HASH_MAP_ENTRY *&entry)
(void) st->update_item (entry->int_id_.transport ());
return 0;
+#else
+ ACE_UNUSED_ARG (entry);
+ return 0;
+#endif
+
}
int
TAO_Transport_Cache_Manager::close_i (TAO_Connection_Handler_Set &handlers)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
+
HASH_MAP_ITER end_iter = this->cache_map_.end ();
for (HASH_MAP_ITER iter = this->cache_map_.begin ();
@@ -332,11 +411,18 @@ TAO_Transport_Cache_Manager::close_i (TAO_Connection_Handler_Set &handlers)
this->cache_map_.unbind_all ();
return 0;
+#else
+ ACE_UNUSED_ARG (handlers);
+ return 0;
+#endif
+
}
int
TAO_Transport_Cache_Manager::purge_entry_i (HASH_MAP_ENTRY *&entry)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if (entry == 0)
{
return 0;
@@ -349,11 +435,16 @@ TAO_Transport_Cache_Manager::purge_entry_i (HASH_MAP_ENTRY *&entry)
entry = 0;
return retval;
+#else
+ ACE_UNUSED_ARG (entry);
+ return 0;
+#endif
}
void
TAO_Transport_Cache_Manager::mark_invalid_i (HASH_MAP_ENTRY *&entry)
{
+#if !defined (TAO_HAS_COLLOCATION)
if (entry == 0)
{
return;
@@ -361,8 +452,11 @@ TAO_Transport_Cache_Manager::mark_invalid_i (HASH_MAP_ENTRY *&entry)
// Mark the entry as not usable
entry->int_id_.recycle_state (ACE_RECYCLABLE_PURGABLE_BUT_NOT_IDLE);
-}
+#else
+ ACE_UNUSED_ARG (entry);
+#endif
+}
int
@@ -370,6 +464,8 @@ TAO_Transport_Cache_Manager::get_last_index_bind (TAO_Cache_ExtId &key,
TAO_Cache_IntId &val,
HASH_MAP_ENTRY *&entry)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
CORBA::ULong ctr = entry->ext_id_.index ();
int retval = 0;
@@ -387,12 +483,20 @@ TAO_Transport_Cache_Manager::get_last_index_bind (TAO_Cache_ExtId &key,
return this->cache_map_.bind (key,
val,
entry);
+#else
+ ACE_UNUSED_ARG (entry);
+ ACE_UNUSED_ARG (val);
+ ACE_UNUSED_ARG (key);
+ return 0;
+#endif
}
int
TAO_Transport_Cache_Manager::is_entry_idle (HASH_MAP_ENTRY *&entry)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
ACE_Recyclable_State recycle_state = entry->int_id_.recycle_state ();
if (TAO_debug_level)
@@ -410,6 +514,11 @@ TAO_Transport_Cache_Manager::is_entry_idle (HASH_MAP_ENTRY *&entry)
}
return 0;
+#else
+ ACE_UNUSED_ARG (entry);
+ return 0;
+#endif
+
}
@@ -417,6 +526,8 @@ TAO_Transport_Cache_Manager::is_entry_idle (HASH_MAP_ENTRY *&entry)
int
TAO_Transport_Cache_Manager::cpscmp(const void* a, const void* b)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
const HASH_MAP_ENTRY** left = (const HASH_MAP_ENTRY**)a;
const HASH_MAP_ENTRY** right = (const HASH_MAP_ENTRY**)b;
@@ -433,12 +544,19 @@ TAO_Transport_Cache_Manager::cpscmp(const void* a, const void* b)
}
return 0;
+#else
+ ACE_UNUSED_ARG (a);
+ ACE_UNUSED_ARG (b);
+ return 0;
+#endif
}
#endif /* ACE_LACKS_QSORT */
int
TAO_Transport_Cache_Manager::purge (void)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
ACE_Unbounded_Stack<TAO_Transport*> transports_to_be_closed;
{
@@ -522,6 +640,10 @@ TAO_Transport_Cache_Manager::purge (void)
}
return 0;
+#else
+ return 0;
+#endif
+
}
@@ -558,6 +680,8 @@ TAO_Transport_Cache_Manager::sort_set (DESCRIPTOR_SET& entries,
int
TAO_Transport_Cache_Manager::fill_set_i (DESCRIPTOR_SET& sorted_set)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
int current_size = 0;
int cache_maximum = this->purging_strategy_->cache_maximum ();
@@ -594,12 +718,18 @@ TAO_Transport_Cache_Manager::fill_set_i (DESCRIPTOR_SET& sorted_set)
}
return current_size;
+#else
+ ACE_UNUSED_ARG (sorted_set);
+ return 0;
+#endif
}
int
TAO_Transport_Cache_Manager::wait_for_connection (TAO_Cache_ExtId &extid)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
if (this->muxed_number_ && this->muxed_number_ == extid.index ())
{
// If we have a limit on the number of muxed connections for
@@ -636,11 +766,17 @@ TAO_Transport_Cache_Manager::wait_for_connection (TAO_Cache_ExtId &extid)
}
return 0;
+#else
+ ACE_UNUSED_ARG (extid);
+ return 0;
+#endif
}
int
TAO_Transport_Cache_Manager::is_wakeup_useful (TAO_Cache_ExtId &extid)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// Get the underlying property that we are looking for
TAO_Transport_Descriptor_Interface *prop = extid.property ();
@@ -670,6 +806,10 @@ TAO_Transport_Cache_Manager::is_wakeup_useful (TAO_Cache_ExtId &extid)
}
return 0;
+#else
+ ACE_UNUSED_ARG (extid);
+ return 0;
+#endif
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
diff --git a/TAO/tao/Transport_Cache_Manager.h b/TAO/tao/Transport_Cache_Manager.h
index addf48bfd60..b69e8b9c66c 100644
--- a/TAO/tao/Transport_Cache_Manager.h
+++ b/TAO/tao/Transport_Cache_Manager.h
@@ -214,6 +214,8 @@ private:
int is_wakeup_useful (TAO_Cache_ExtId &extid);
private:
+
+#if !defined (TAO_HAS_COLLOCATION)
/// The percentage of the cache to purge at one time
int percent_;
@@ -240,6 +242,8 @@ private:
/// is put back is cached here. This should prevent all th threads
/// trying to search for their required entry.
TAO_Cache_ExtId *last_entry_returned_;
+#endif
+
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/tao/Transport_Cache_Manager.inl b/TAO/tao/Transport_Cache_Manager.inl
index 9163ef1907d..526639e8082 100644
--- a/TAO/tao/Transport_Cache_Manager.inl
+++ b/TAO/tao/Transport_Cache_Manager.inl
@@ -5,6 +5,7 @@ ACE_INLINE int
TAO_Transport_Cache_Manager::bind (TAO_Cache_ExtId &ext_id,
TAO_Cache_IntId &int_id)
{
+#if !defined (TAO_HAS_COLLOCATION)
ACE_MT (ACE_GUARD_RETURN (ACE_Lock,
guard,
*this->cache_lock_,
@@ -12,6 +13,9 @@ TAO_Transport_Cache_Manager::bind (TAO_Cache_ExtId &ext_id,
return this->bind_i (ext_id,
int_id);
+#else
+ return 0;
+#endif
}
@@ -20,6 +24,8 @@ TAO_Transport_Cache_Manager::cache_transport (
TAO_Transport_Descriptor_Interface *prop,
TAO_Transport *transport)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// Compose the ExternId & Intid
TAO_Cache_ExtId ext_id (prop);
TAO_Cache_IntId int_id (transport);
@@ -39,6 +45,9 @@ TAO_Transport_Cache_Manager::cache_transport (
}
return retval;
+#else
+ return 0;
+#endif
}
ACE_INLINE int
@@ -46,6 +55,8 @@ TAO_Transport_Cache_Manager::cache_idle_transport (
TAO_Transport_Descriptor_Interface *prop,
TAO_Transport *transport)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// Compose the ExternId & Intid
TAO_Cache_ExtId ext_id (prop);
TAO_Cache_IntId int_id (transport);
@@ -66,11 +77,16 @@ TAO_Transport_Cache_Manager::cache_idle_transport (
}
return retval;
+#else
+ return 0;
+#endif
}
ACE_INLINE int
TAO_Transport_Cache_Manager::purge_entry (HASH_MAP_ENTRY *&entry)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// Double checked locking
if(entry == 0)
return 0;
@@ -78,11 +94,15 @@ TAO_Transport_Cache_Manager::purge_entry (HASH_MAP_ENTRY *&entry)
ACE_MT (ACE_GUARD_RETURN (ACE_Lock, guard, *this->cache_lock_, -1));
return this->purge_entry_i (entry);
+#else
+ return 0;
+#endif
}
ACE_INLINE void
TAO_Transport_Cache_Manager::mark_invalid (HASH_MAP_ENTRY *&entry)
{
+#if !defined (TAO_HAS_COLLOCATION)
if(entry == 0)
return;
@@ -90,6 +110,7 @@ TAO_Transport_Cache_Manager::mark_invalid (HASH_MAP_ENTRY *&entry)
ACE_MT (ACE_GUARD (ACE_Lock, guard, *this->cache_lock_));
this->mark_invalid_i (entry);
+#endif
}
@@ -97,11 +118,16 @@ TAO_Transport_Cache_Manager::mark_invalid (HASH_MAP_ENTRY *&entry)
ACE_INLINE int
TAO_Transport_Cache_Manager::make_idle (HASH_MAP_ENTRY *&entry)
{
+#if !defined (TAO_HAS_COLLOCATION)
if(entry == 0)
return -1;
ACE_MT (ACE_GUARD_RETURN (ACE_Lock, guard, *this->cache_lock_, -1));
return this->make_idle_i (entry);
+#else
+ return 0;
+#endif
+
}
@@ -110,6 +136,8 @@ TAO_Transport_Cache_Manager::make_idle (HASH_MAP_ENTRY *&entry)
ACE_INLINE int
TAO_Transport_Cache_Manager::close (TAO_Connection_Handler_Set &handlers)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
// The cache lock pointer should only be zero if
// Transport_Cache_Manager::open() was never called. Note that
// only one thread opens the Transport_Cache_Manager at any given
@@ -123,23 +151,28 @@ TAO_Transport_Cache_Manager::close (TAO_Connection_Handler_Set &handlers)
-1));
return this->close_i (handlers);
+#else
+ return 0;
+#endif
}
ACE_INLINE size_t
TAO_Transport_Cache_Manager::current_size (void) const
{
+#if !defined (TAO_HAS_COLLOCATION)
return this->cache_map_.current_size ();
+#else
+ return 0;
+#endif
}
ACE_INLINE size_t
TAO_Transport_Cache_Manager::total_size (void) const
{
+#if !defined (TAO_HAS_COLLOCATION)
return this->cache_map_.total_size ();
-}
-
-ACE_INLINE TAO_Transport_Cache_Manager::HASH_MAP &
-TAO_Transport_Cache_Manager::map (void)
-{
- return this->cache_map_;
+#else
+ return 0;
+#endif
}
diff --git a/TAO/tao/default_client.cpp b/TAO/tao/default_client.cpp
index ef6ab5c28fb..b727f8c4019 100644
--- a/TAO/tao/default_client.cpp
+++ b/TAO/tao/default_client.cpp
@@ -7,9 +7,13 @@
#include "Wait_On_LF_No_Upcall.h"
#include "Exclusive_TMS.h"
#include "Muxed_TMS.h"
-#include "Blocked_Connect_Strategy.h"
-#include "Reactive_Connect_Strategy.h"
-#include "LF_Connect_Strategy.h"
+
+#if !defined (TAO_HAS_COLLOCATION)
+# include "Blocked_Connect_Strategy.h"
+# include "Reactive_Connect_Strategy.h"
+# include "LF_Connect_Strategy.h"
+#endif
+
#include "orbconf.h"
#include "ace/Lock_Adapter_T.h"
@@ -46,8 +50,11 @@ TAO_Default_Client_Strategy_Factory::TAO_Default_Client_Strategy_Factory (void)
this->transport_mux_strategy_ = TAO_EXCLUSIVE_TMS;
#endif /* TAO_USE_MUXED_TRANSPORT_MUX_STRATEGY */
+#if !defined (TAO_HAS_COLLOCATION)
// @@todo: will be changed when other strategies are implemented.
this->connect_strategy_ = TAO_LEADER_FOLLOWER_CONNECT;
+#endif
+
}
TAO_Default_Client_Strategy_Factory::~TAO_Default_Client_Strategy_Factory (void)
@@ -175,6 +182,7 @@ TAO_Default_Client_Strategy_Factory::parse_args (int argc, ACE_TCHAR* argv[])
ACE_TEXT("-ORBConnectStrategy")) == 0)
{
curarg++;
+#if !defined (TAO_HAS_COLLOCATION)
if (curarg < argc)
{
ACE_TCHAR* name = argv[curarg];
@@ -191,6 +199,7 @@ TAO_Default_Client_Strategy_Factory::parse_args (int argc, ACE_TCHAR* argv[])
else
this->report_option_value_error (ACE_TEXT("-ORBConnectStrategy"), name);
}
+#endif
}
else if (ACE_OS::strcmp (argv[curarg],
ACE_TEXT("-ORBReplyDispatcherTableSize")) == 0)
@@ -313,6 +322,8 @@ TAO_Default_Client_Strategy_Factory::create_wait_strategy (TAO_Transport *transp
TAO_Connect_Strategy *
TAO_Default_Client_Strategy_Factory::create_connect_strategy (TAO_ORB_Core *orb_core)
{
+
+#if !defined (TAO_HAS_COLLOCATION)
TAO_Connect_Strategy *cs = 0;
if (this->connect_strategy_ == TAO_BLOCKED_CONNECT)
@@ -333,6 +344,10 @@ TAO_Default_Client_Strategy_Factory::create_connect_strategy (TAO_ORB_Core *orb_
}
return cs;
+#else
+ ACE_UNUSED_ARG (orb_core);
+ return 0;
+#endif
}
diff --git a/TAO/tao/default_client.h b/TAO/tao/default_client.h
index 6dd566dd682..d173e91f33e 100644
--- a/TAO/tao/default_client.h
+++ b/TAO/tao/default_client.h
@@ -31,7 +31,7 @@
* options so that everything operates as if there were no
* dynamically-linkable strategies.
*/
-class TAO_Export TAO_Default_Client_Strategy_Factory
+class TAO_Export TAO_Default_Client_Strategy_Factory
: public TAO_Client_Strategy_Factory
{
public:
@@ -101,8 +101,10 @@ private:
TAO_LEADER_FOLLOWER_CONNECT
};
+#if !defined (TAO_HAS_COLLOCATION)
/// The connection initiation strategy.
Connect_Strategy connect_strategy_;
+#endif
/// Size of the reply dispatcher table
int rd_table_size_;
diff --git a/TAO/tao/tao.mpc b/TAO/tao/tao.mpc
index d14f765df9f..d86b0821a31 100644
--- a/TAO/tao/tao.mpc
+++ b/TAO/tao/tao.mpc
@@ -2,6 +2,7 @@
project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_core {
sharedname = TAO
dynamicflags = TAO_BUILD_DLL
+ macros += TAO_HAS_COLLOCATION
// It is no longer necessary to override IDL_Files since it is a
// custom build type and comes from the taoidldefaults base project.
@@ -25,7 +26,6 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
IIOP_Lite_Factory.cpp
IIOP_Profile.cpp
IIOP_Transport.cpp
- IIOP_Connector.cpp
IIOP_Acceptor.cpp
IIOP_Connection_Handler.cpp
IIOP_Endpoint.cpp
@@ -35,6 +35,19 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
IIOPA.cpp
}
+// exclude {
+// IIOP_Connector.cpp
+// Remote_Object_Proxy_Broker.cpp
+// LocateRequest_Invocation_Adapter.cpp
+// Remote_Invocation.cpp
+// Synch_Invocation.cpp
+// LocateRequest_Invocation.cpp
+// Invocation_Endpoint_Selectors.cpp
+// Reactive_Connect_Strategy.cpp
+// Blocked_Connect_Strategy.cpp
+// LF_Connect_Strategy.cpp
+// }
+
Pluggable_Messaging {
Pluggable_Messaging.cpp
Pluggable_Messaging_Utils.cpp
@@ -95,7 +108,6 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
Encodable.cpp
Abstract_Servant_Base.cpp
Object_Proxy_Broker.cpp
- Remote_Object_Proxy_Broker.cpp
Object_Proxy_Impl.cpp
DomainC.cpp
DomainA.cpp
@@ -115,13 +127,9 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
Messaging_SyncScopeC.cpp
Invocation_Base.cpp
Invocation_Adapter.cpp
- LocateRequest_Invocation_Adapter.cpp
Profile_Transport_Resolver.cpp
- Remote_Invocation.cpp
+ Transport_Cache_Manager.cpp
Collocated_Invocation.cpp
- Synch_Invocation.cpp
- LocateRequest_Invocation.cpp
- Invocation_Endpoint_Selectors.cpp
operation_details.cpp
ClientRequestInfo.cpp
ClientRequestInfo_i.cpp
@@ -252,7 +260,6 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
PolicyFactory_Registry.cpp
Cache_Entries.cpp
Base_Transport_Property.cpp
- Transport_Cache_Manager.cpp
Cleanup_Func_Registry.cpp
Transport_Descriptor_Interface.cpp
Object_Ref_Table.cpp
@@ -265,9 +272,6 @@ project(TAO) : acelib, taoversion, core, tao_output, taodefaults, pidl, extra_co
Block_Flushing_Strategy.cpp
Reactive_Flushing_Strategy.cpp
Connect_Strategy.cpp
- Blocked_Connect_Strategy.cpp
- Reactive_Connect_Strategy.cpp
- LF_Connect_Strategy.cpp
Queued_Message.cpp
Synch_Queued_Message.cpp
Asynch_Queued_Message.cpp