summaryrefslogtreecommitdiff
path: root/TAO/tao/Transport_Mux_Strategy.h
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_Mux_Strategy.h
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_Mux_Strategy.h')
-rw-r--r--TAO/tao/Transport_Mux_Strategy.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/TAO/tao/Transport_Mux_Strategy.h b/TAO/tao/Transport_Mux_Strategy.h
index 3fa8ba4b5dc..34ecd995d5f 100644
--- a/TAO/tao/Transport_Mux_Strategy.h
+++ b/TAO/tao/Transport_Mux_Strategy.h
@@ -74,7 +74,7 @@ public:
**/
virtual int reply_timed_out (CORBA::ULong request_id) = 0;
- /// Dispatch the reply for <request_id>, cleanup any resources
+ /// Dispatch the reply for request_id, cleanup any resources
/// allocated for that request.
virtual int dispatch_reply (TAO_Pluggable_Reply_Params &params) = 0;
@@ -92,6 +92,9 @@ public:
/// dispatchers and waiting strategies.
virtual void connection_closed (void) = 0;
+ /// Do we have a request pending
+ virtual bool has_request (void) = 0;
+
protected:
/// Cache the transport reference.
TAO_Transport *transport_;