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/IncomingAsync.cpp | |
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/IncomingAsync.cpp')
-rw-r--r-- | cpp/src/Ice/IncomingAsync.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/cpp/src/Ice/IncomingAsync.cpp b/cpp/src/Ice/IncomingAsync.cpp index e8b8dd0a401..10c0ec6ac4e 100644 --- a/cpp/src/Ice/IncomingAsync.cpp +++ b/cpp/src/Ice/IncomingAsync.cpp @@ -54,7 +54,7 @@ Init init; IceInternal::IncomingAsync::IncomingAsync(Incoming& in) : IncomingBase(in), _instanceCopy(_os.instance()), - _connectionCopy(_connection), + _responseHandlerCopy(_responseHandler), _retriable(in.isRetriable()), _active(true) { @@ -119,7 +119,7 @@ IceInternal::IncomingAsync::ice_exception(const ::std::exception& ex) _active = false; } - if(_connection) + if(_responseHandler) { __exception(ex); } @@ -170,7 +170,7 @@ IceInternal::IncomingAsync::ice_exception() _active = false; } - if(_connection) + if(_responseHandler) { __exception(); } @@ -196,24 +196,24 @@ IceInternal::IncomingAsync::__response() return; } - assert(_connection); + assert(_responseHandler); if(_response) { _observer.reply(static_cast<Int>(_os.b.size() - headerSize - 4)); - _connection->sendResponse(&_os, _compress); + _responseHandler->sendResponse(_current.requestId, &_os, _compress); } else { - _connection->sendNoResponse(); + _responseHandler->sendNoResponse(); } _observer.detach(); - _connection = 0; + _responseHandler = 0; } catch(const LocalException& ex) { - _connection->invokeException(ex, 1); // Fatal invocation exception + _responseHandler->invokeException(_current.requestId, ex, 1); // Fatal invocation exception } } @@ -231,7 +231,7 @@ IceInternal::IncomingAsync::__exception(const std::exception& exc) } catch(const LocalException& ex) { - _connection->invokeException(ex, 1); // Fatal invocation exception + _responseHandler->invokeException(_current.requestId, ex, 1); // Fatal invocation exception } } @@ -249,7 +249,7 @@ IceInternal::IncomingAsync::__exception() } catch(const LocalException& ex) { - _connection->invokeException(ex, 1); // Fatal invocation exception + _responseHandler->invokeException(_current.requestId, ex, 1); // Fatal invocation exception } } |