summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport_Cache_Manager_T.inl
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2009-02-03 15:07:54 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2009-02-03 15:07:54 +0000
commit9f03a61ed81df9657957b682c90396e9b4f51961 (patch)
tree736068946c448a10c49273602c771974445efe38 /TAO/tao/Transport_Cache_Manager_T.inl
parent74b918f22bb0ea012d981f3bcf785e685ff4ea67 (diff)
downloadATCD-9f03a61ed81df9657957b682c90396e9b4f51961.tar.gz
Tue Feb 3 15:07:12 UTC 2009 Johnny Willemsen <jwillemsen@remedy.nl>
* tao/Cache_Entries_T.h: * tao/Cache_Entries_T.inl: Removed ENTRY_IDLE_BUT_NOT_PURGABLE state. This was the initial state a transport was set when it got connected, but this prevents the transport to get purged when the cache is getting full. When the server has been called by a lot of clients but didn't make invocations back we have a lot of transports with this state and at the end the cache got full. The disadvantage is that when we have a transport that has been connected but not used until now it gets purged, when we then need it again we have to recreate it. * tao/Exclusive_TMS.cpp: * tao/Exclusive_TMS.h: * tao/Muxed_TMS.cpp: * tao/Muxed_TMS.h: * tao/Transport_Mux_Strategy.h: Added a has_request, the TMS does now if we have pending requests on a transport. When a transport has pending request we can't purge it. * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/SCIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/HTIOP/HTIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Call cache_transport instead of cache_idle_transport * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Fixed unicode logging issue * tao/Transport.cpp: * tao/Transport.h: Added can_be_purged that is used by the TCM * tao/Transport_Cache_Manager_T.cpp: * tao/Transport_Cache_Manager_T.h: * tao/Transport_Cache_Manager_T.inl: Updated for the removed state and when selecting the transports that can be purged also check the can_be_purged on the transport * tao/Transport_Connector.cpp: Unicode fix * tests/Transport_Cache_Manager/Bug_3558_Regression.cpp: * tests/Transport_Cache_Manager/mock_transport.h: Updated for TCM/Transport changes
Diffstat (limited to 'TAO/tao/Transport_Cache_Manager_T.inl')
-rw-r--r--TAO/tao/Transport_Cache_Manager_T.inl13
1 files changed, 2 insertions, 11 deletions
diff --git a/TAO/tao/Transport_Cache_Manager_T.inl b/TAO/tao/Transport_Cache_Manager_T.inl
index 34a8d2cd9e4..84d520e9940 100644
--- a/TAO/tao/Transport_Cache_Manager_T.inl
+++ b/TAO/tao/Transport_Cache_Manager_T.inl
@@ -26,7 +26,7 @@ namespace TAO
// If it has already connected, go directly to the IDLE_BNP state
if (int_id.is_connected () && state == ENTRY_CONNECTING)
- int_id.recycle_state (ENTRY_IDLE_BUT_NOT_PURGABLE);
+ int_id.recycle_state (ENTRY_IDLE_AND_PURGABLE);
else
int_id.recycle_state (state);
@@ -38,15 +38,6 @@ namespace TAO
template <typename TT, typename TDT, typename PS>
ACE_INLINE int
- Transport_Cache_Manager_T<TT, TDT, PS>::cache_idle_transport (
- transport_descriptor_type *prop,
- transport_type *transport)
- {
- return cache_transport(prop, transport, ENTRY_IDLE_AND_PURGABLE);
- }
-
- template <typename TT, typename TDT, typename PS>
- ACE_INLINE int
Transport_Cache_Manager_T<TT, TDT, PS>::purge_entry (HASH_MAP_ENTRY *&entry)
{
ACE_MT (ACE_GUARD_RETURN (ACE_Lock, guard, *this->cache_lock_, -1));
@@ -72,7 +63,7 @@ namespace TAO
if (TAO_debug_level > 9 && state != entry->item ().is_connected ())
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("TAO (%P|%t) - Transport_Cache_Manager_T")
ACE_TEXT ("::mark_connected %C Transport=%d\n"),
- (state ? "true" : "false"), entry->item ().transport ()
+ (state ? "true" : "false"), entry->item ().transport ()->id ()
));
entry->item().is_connected (state);
}