diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1999-08-31 19:26:41 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1999-08-31 19:26:41 +0000 |
commit | b51985e56b826ec7d9a9216bfb0a65d6af9eb832 (patch) | |
tree | 30bcd1d69e3f2f304c57bdbb2c53dc9ed5f494d5 | |
parent | a86f18f87c728e83bdb973bf8cc20282b00c6f57 (diff) | |
download | ATCD-b51985e56b826ec7d9a9216bfb0a65d6af9eb832.tar.gz |
ChangeLogTag:Tue Aug 31 14:23:55 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
-rw-r--r-- | TAO/ChangeLog-99c | 5 | ||||
-rw-r--r-- | TAO/tao/UIOP_Connector.cpp | 184 |
2 files changed, 97 insertions, 92 deletions
diff --git a/TAO/ChangeLog-99c b/TAO/ChangeLog-99c index f4f35c32eb4..6ca176a82d1 100644 --- a/TAO/ChangeLog-99c +++ b/TAO/ChangeLog-99c @@ -1,3 +1,8 @@ +Tue Aug 31 14:23:55 1999 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * tao/UIOP_Connector.cpp: Also rearranged the code so that it'll + compile properly. + Tue Aug 31 14:17:44 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> * tao/IIOP_Connector.cpp: Rearranged the code so that it'll diff --git a/TAO/tao/UIOP_Connector.cpp b/TAO/tao/UIOP_Connector.cpp index 601633e2636..131b54a5aea 100644 --- a/TAO/tao/UIOP_Connector.cpp +++ b/TAO/tao/UIOP_Connector.cpp @@ -14,6 +14,98 @@ ACE_RCSID(tao, UIOP_Connector, "$Id$") +#if defined (TAO_USES_ROBUST_CONNECTION_MGMT) +int +TAO_UIOP_Connector::purge_connections (void) +{ + return this->cached_connect_strategy_->purge_connections (); +} + +#define TAO_HANDLER TAO_UIOP_Client_Connection_Handler +#define TAO_SVC_TUPLE ACE_Svc_Tuple<TAO_HANDLER> +#define TAO_ADDR TAO_UIOP_Connector::TAO_IADDR +#define TAO_HASH_KEY TAO_UIOP_Connector::TAO_HASH_KEY +#define TAO_COMPARE_KEYS TAO_UIOP_Connector::TAO_COMPARE_KEYS +#define TAO_ATTRIBUTES TAO_UIOP_Connector::TAO_ATTRIBUTES +#define TAO_CACHED_HANDLER TAO_UIOP_Connector::TAO_CACHED_HANDLER +#define TAO_HASH_MAP TAO_UIOP_Connector::TAO_HASH_MAP +#define TAO_HASH_MAP_ITERATOR TAO_UIOP_Connector::TAO_HASH_MAP_ITERATOR +#define TAO_HASH_MAP_REVERSE_ITERATOR TAO_UIOP_Connector::TAO_HASH_MAP_REVERSE_ITERATOR +#define TAO_CACHING_UTILITY TAO_UIOP_Connector::TAO_CACHING_UTILITY +#define TAO_CACHING_STRATEGY TAO_UIOP_Connector::TAO_CACHING_STRATEGY +#define TAO_CACHED_CONNECT_STRATEGY TAO_UIOP_Connector::TAO_CACHED_CONNECT_STRATEGY + +typedef ACE_LRU_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> + TAO_UIOP_LRU_CACHING_STRATEGY; + +#if defined (ACE_HAS_BROKEN_EXTENDED_TEMPLATES) +typedef TAO_UIOP_LRU_CACHING_STRATEGY + TAO_UIOP_CACHING_STRATEGY; +#else +typedef ACE_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> + TAO_UIOP_CACHING_STRATEGY; +typedef ACE_LFU_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> + TAO_UIOP_LFU_CACHING_STRATEGY; +typedef ACE_FIFO_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> + TAO_UIOP_FIFO_CACHING_STRATEGY; +typedef ACE_Null_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> + TAO_UIOP_NULL_CACHING_STRATEGY; +typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_LRU_CACHING_STRATEGY> + TAO_UIOP_LRU_CACHING_STRATEGY_ADAPTER; +typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_LFU_CACHING_STRATEGY> + TAO_UIOP_LFU_CACHING_STRATEGY_ADAPTER; +typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_FIFO_CACHING_STRATEGY> + TAO_UIOP_FIFO_CACHING_STRATEGY_ADAPTER; +typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_NULL_CACHING_STRATEGY> + TAO_UIOP_NULL_CACHING_STRATEGY_ADAPTER; +#endif /* ACE_HAS_BROKEN_EXTENDED_TEMPLATES */ + +int +TAO_UIOP_Connector::make_caching_strategy (void) +{ + + TAO_Resource_Factory *resource_factory = + this->orb_core_->resource_factory (); + +#if defined (ACE_HAS_BROKEN_EXTENDED_TEMPLATES) + ACE_NEW_RETURN (this->caching_strategy_, + TAO_UIOP_CACHING_STRATEGY, + -1); +#else + switch (resource_factory->connection_caching_strategy_type ()) + { + case TAO_Resource_Factory::NOOP: + ACE_NEW_RETURN (this->caching_strategy_, + TAO_UIOP_NULL_CACHING_STRATEGY_ADAPTER, + -1); + break; + + default: + case TAO_Resource_Factory::LRU: + ACE_NEW_RETURN (this->caching_strategy_, + TAO_UIOP_LRU_CACHING_STRATEGY_ADAPTER, + -1); + break; + + case TAO_Resource_Factory::LFU: + ACE_NEW_RETURN (this->caching_strategy_, + TAO_UIOP_LFU_CACHING_STRATEGY_ADAPTER, + -1); + break; + + case TAO_Resource_Factory::FIFO: + ACE_NEW_RETURN (this->caching_strategy_, + TAO_UIOP_FIFO_CACHING_STRATEGY_ADAPTER, + -1); + break; + } +#endif /* ACE_HAS_BROKEN_EXTENDED_TEMPLATES */ + + this->caching_strategy_->purge_percent (resource_factory->purge_percentage ()); + return 0; +} +#endif /* TAO_USES_ROBUST_CONNECTION_MGMT */ + // The TAO_Cached_Connector_Lock template instantiations are in // Resource_Factory.cpp. @@ -610,96 +702,4 @@ TAO_UIOP_Connector::object_key_delimiter (void) const return TAO_UIOP_Profile::object_key_delimiter; } -#if defined (TAO_USES_ROBUST_CONNECTION_MGMT) -int -TAO_UIOP_Connector::purge_connections (void) -{ - return this->cached_connect_strategy_->purge_connections (); -} - -#define TAO_HANDLER TAO_UIOP_Client_Connection_Handler -#define TAO_SVC_TUPLE ACE_Svc_Tuple<TAO_HANDLER> -#define TAO_ADDR TAO_UIOP_Connector::TAO_IADDR -#define TAO_HASH_KEY TAO_UIOP_Connector::TAO_HASH_KEY -#define TAO_COMPARE_KEYS TAO_UIOP_Connector::TAO_COMPARE_KEYS -#define TAO_ATTRIBUTES TAO_UIOP_Connector::TAO_ATTRIBUTES -#define TAO_CACHED_HANDLER TAO_UIOP_Connector::TAO_CACHED_HANDLER -#define TAO_HASH_MAP TAO_UIOP_Connector::TAO_HASH_MAP -#define TAO_HASH_MAP_ITERATOR TAO_UIOP_Connector::TAO_HASH_MAP_ITERATOR -#define TAO_HASH_MAP_REVERSE_ITERATOR TAO_UIOP_Connector::TAO_HASH_MAP_REVERSE_ITERATOR -#define TAO_CACHING_UTILITY TAO_UIOP_Connector::TAO_CACHING_UTILITY -#define TAO_CACHING_STRATEGY TAO_UIOP_Connector::TAO_CACHING_STRATEGY -#define TAO_CACHED_CONNECT_STRATEGY TAO_UIOP_Connector::TAO_CACHED_CONNECT_STRATEGY - -typedef ACE_LRU_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> - TAO_UIOP_LRU_CACHING_STRATEGY; - -#if defined (ACE_HAS_BROKEN_EXTENDED_TEMPLATES) -typedef TAO_UIOP_LRU_CACHING_STRATEGY - TAO_UIOP_CACHING_STRATEGY; -#else -typedef ACE_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> - TAO_UIOP_CACHING_STRATEGY; -typedef ACE_LFU_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> - TAO_UIOP_LFU_CACHING_STRATEGY; -typedef ACE_FIFO_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> - TAO_UIOP_FIFO_CACHING_STRATEGY; -typedef ACE_Null_Caching_Strategy<TAO_ATTRIBUTES, TAO_CACHING_UTILITY> - TAO_UIOP_NULL_CACHING_STRATEGY; -typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_LRU_CACHING_STRATEGY> - TAO_UIOP_LRU_CACHING_STRATEGY_ADAPTER; -typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_LFU_CACHING_STRATEGY> - TAO_UIOP_LFU_CACHING_STRATEGY_ADAPTER; -typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_FIFO_CACHING_STRATEGY> - TAO_UIOP_FIFO_CACHING_STRATEGY_ADAPTER; -typedef ACE_Caching_Strategy_Adapter<TAO_ATTRIBUTES, TAO_CACHING_UTILITY, TAO_UIOP_NULL_CACHING_STRATEGY> - TAO_UIOP_NULL_CACHING_STRATEGY_ADAPTER; -#endif /* ACE_HAS_BROKEN_EXTENDED_TEMPLATES */ - -int -TAO_UIOP_Connector::make_caching_strategy (void) -{ - - TAO_Resource_Factory *resource_factory = - this->orb_core_->resource_factory (); - -#if defined (ACE_HAS_BROKEN_EXTENDED_TEMPLATES) - ACE_NEW_RETURN (this->caching_strategy_, - TAO_UIOP_CACHING_STRATEGY, - -1); -#else - switch (resource_factory->connection_caching_strategy_type ()) - { - case TAO_Resource_Factory::NOOP: - ACE_NEW_RETURN (this->caching_strategy_, - TAO_UIOP_NULL_CACHING_STRATEGY_ADAPTER, - -1); - break; - - default: - case TAO_Resource_Factory::LRU: - ACE_NEW_RETURN (this->caching_strategy_, - TAO_UIOP_LRU_CACHING_STRATEGY_ADAPTER, - -1); - break; - - case TAO_Resource_Factory::LFU: - ACE_NEW_RETURN (this->caching_strategy_, - TAO_UIOP_LFU_CACHING_STRATEGY_ADAPTER, - -1); - break; - - case TAO_Resource_Factory::FIFO: - ACE_NEW_RETURN (this->caching_strategy_, - TAO_UIOP_FIFO_CACHING_STRATEGY_ADAPTER, - -1); - break; - } -#endif /* ACE_HAS_BROKEN_EXTENDED_TEMPLATES */ - - this->caching_strategy_->purge_percent (resource_factory->purge_percentage ()); - return 0; -} -#endif /* TAO_USES_ROBUST_CONNECTION_MGMT */ - #endif /* TAO_HAS_UIOP */ |