diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-06-27 10:31:41 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-06-27 10:31:41 +0200 |
commit | a4f93259dc3494d98addf38e69b87eb557d432b3 (patch) | |
tree | d2b78bb5cea24e33dc1b46be22dba6167e96c9ed /cpp/src/Ice/RequestHandler.h | |
parent | Fix for ICE-5515 (ice_staticId on proxies) in Java, C#, Python, Ruby and PHP ... (diff) | |
download | ice-a4f93259dc3494d98addf38e69b87eb557d432b3.tar.bz2 ice-a4f93259dc3494d98addf38e69b87eb557d432b3.tar.xz ice-a4f93259dc3494d98addf38e69b87eb557d432b3.zip |
Better collocation optimization, fix for ICE-5489, ICE-5484
Diffstat (limited to 'cpp/src/Ice/RequestHandler.h')
-rw-r--r-- | cpp/src/Ice/RequestHandler.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/cpp/src/Ice/RequestHandler.h b/cpp/src/Ice/RequestHandler.h index 6f3511225c4..23ce100c2e4 100644 --- a/cpp/src/Ice/RequestHandler.h +++ b/cpp/src/Ice/RequestHandler.h @@ -11,6 +11,7 @@ #define ICE_REQUEST_HANDLER_H #include <IceUtil/Shared.h> +#include <IceUtil/UniquePtr.h> #include <Ice/RequestHandlerF.h> #include <Ice/ReferenceF.h> @@ -18,15 +19,39 @@ #include <Ice/ProxyF.h> #include <Ice/ConnectionIF.h> +namespace Ice +{ + +class LocalException; + +}; + namespace IceInternal { class BasicStream; -class Outgoing; -class BatchOutgoing; class OutgoingMessageCallback; +// +// An exception wrapper, which is used to notify that the request +// handler should be cleared and the invocation retried. +// +class RetryException +{ +public: + + RetryException(const Ice::LocalException&); + RetryException(const RetryException&); + + const Ice::LocalException* get() const; + +private: + + + IceUtil::UniquePtr<Ice::LocalException> _ex; +}; + class RequestHandler : virtual public ::IceUtil::Shared { public: |