diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-02-03 15:07:54 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2009-02-03 15:07:54 +0000 |
commit | 9f03a61ed81df9657957b682c90396e9b4f51961 (patch) | |
tree | 736068946c448a10c49273602c771974445efe38 /TAO/tao/Transport_Cache_Manager_T.inl | |
parent | 74b918f22bb0ea012d981f3bcf785e685ff4ea67 (diff) | |
download | ATCD-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.inl | 13 |
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); } |