summaryrefslogtreecommitdiff
path: root/TAO/tao/Exclusive_TMS.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/Exclusive_TMS.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/Exclusive_TMS.h')
-rw-r--r--TAO/tao/Exclusive_TMS.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/TAO/tao/Exclusive_TMS.h b/TAO/tao/Exclusive_TMS.h
index fd2d9a23178..439da9cfd1e 100644
--- a/TAO/tao/Exclusive_TMS.h
+++ b/TAO/tao/Exclusive_TMS.h
@@ -64,6 +64,7 @@ public:
virtual bool idle_after_send (void);
virtual bool idle_after_reply (void);
virtual void connection_closed (void);
+ virtual bool has_request (void);
//@}
protected:
@@ -71,14 +72,11 @@ protected:
/// request_id().
CORBA::ULong request_id_generator_;
- /// If false then the request id and reply dispatcher below are
- /// meaningless
- bool has_request_;
-
/// Request id for the current request.
CORBA::ULong request_id_;
- /// Reply Dispatcher corresponding to the request.
+ /// Reply Dispatcher corresponding to the request. If this is zero we don't
+ /// have a reply, if it not zero we have one
TAO_Reply_Dispatcher *rd_;
};