diff options
author | Mark Spruiell <mes@zeroc.com> | 2016-01-19 16:46:11 -0800 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2016-01-19 16:46:11 -0800 |
commit | d5dd7c866e9e1dc59dc7e127eb39f641530bf823 (patch) | |
tree | 61771e4f322a7138b643d5325a6d10acea30fb84 /cpp/src/Ice/CollocatedRequestHandler.cpp | |
parent | Deprecate ice_name and add ice_id (diff) | |
download | ice-d5dd7c866e9e1dc59dc7e127eb39f641530bf823.tar.bz2 ice-d5dd7c866e9e1dc59dc7e127eb39f641530bf823.tar.xz ice-d5dd7c866e9e1dc59dc7e127eb39f641530bf823.zip |
ICE-6861 - removing public stream API
Diffstat (limited to 'cpp/src/Ice/CollocatedRequestHandler.cpp')
-rw-r--r-- | cpp/src/Ice/CollocatedRequestHandler.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/cpp/src/Ice/CollocatedRequestHandler.cpp b/cpp/src/Ice/CollocatedRequestHandler.cpp index 87a3d09c0f2..d57d9d72934 100644 --- a/cpp/src/Ice/CollocatedRequestHandler.cpp +++ b/cpp/src/Ice/CollocatedRequestHandler.cpp @@ -31,7 +31,7 @@ class InvokeAll : public DispatchWorkItem public: InvokeAll(OutgoingBase* out, - BasicStream* os, + OutputStream* os, CollocatedRequestHandler* handler, Int requestId, Int batchRequestNum) : @@ -59,7 +59,7 @@ public: private: OutgoingBase* _out; - BasicStream* _os; + OutputStream* _os; CollocatedRequestHandlerPtr _handler; Int _requestId; Int _batchRequestNum; @@ -70,7 +70,7 @@ class InvokeAllAsync : public DispatchWorkItem public: InvokeAllAsync(const OutgoingAsyncBasePtr& outAsync, - BasicStream* os, + OutputStream* os, const CollocatedRequestHandlerPtr& handler, Int requestId, Int batchRequestNum) : @@ -90,14 +90,14 @@ public: private: OutgoingAsyncBasePtr _outAsync; - BasicStream* _os; + OutputStream* _os; CollocatedRequestHandlerPtr _handler; Int _requestId; Int _batchRequestNum; }; void -fillInValue(BasicStream* os, int pos, Int value) +fillInValue(OutputStream* os, int pos, Int value) { const Byte* p = reinterpret_cast<const Byte*>(&value); #ifdef ICE_BIG_ENDIAN @@ -316,25 +316,27 @@ CollocatedRequestHandler::invokeAsyncRequest(OutgoingAsyncBase* outAsync, int ba } void -CollocatedRequestHandler::sendResponse(Int requestId, BasicStream* os, Byte, bool amd) +CollocatedRequestHandler::sendResponse(Int requestId, OutputStream* os, Byte, bool amd) { OutgoingAsyncBasePtr outAsync; { Lock sync(*this); assert(_response); - os->i = os->b.begin() + sizeof(replyHdr) + 4; + InputStream is(os->instance(), os->getEncoding(), *os, true); // Adopting the OutputStream's buffer. + + is.i = is.b.begin() + sizeof(replyHdr) + 4; if(_traceLevels->protocol >= 1) { fillInValue(os, 10, static_cast<Int>(os->b.size())); - traceRecv(*os, _logger, _traceLevels); + traceRecv(is, _logger, _traceLevels); } map<int, OutgoingBase*>::iterator p = _requests.find(requestId); if(p != _requests.end()) { - p->second->completed(*os); + p->second->completed(is); _requests.erase(p); } else @@ -342,7 +344,7 @@ CollocatedRequestHandler::sendResponse(Int requestId, BasicStream* os, Byte, boo map<int, OutgoingAsyncBasePtr>::iterator q = _asyncRequests.find(requestId); if(q != _asyncRequests.end()) { - os->swap(*q->second->getIs()); + is.swap(*q->second->getIs()); if(q->second->completed()) { outAsync = q->second; @@ -442,15 +444,17 @@ CollocatedRequestHandler::sentAsync(OutgoingAsyncBase* outAsync) } void -CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int batchRequestNum) +CollocatedRequestHandler::invokeAll(OutputStream* os, Int requestId, Int batchRequestNum) { + InputStream is(os->instance(), os->getEncoding(), *os); + if(batchRequestNum > 0) { - os->i = os->b.begin() + sizeof(requestBatchHdr); + is.i = is.b.begin() + sizeof(requestBatchHdr); } else { - os->i = os->b.begin() + sizeof(requestHdr); + is.i = is.b.begin() + sizeof(requestHdr); } if(_traceLevels->protocol >= 1) @@ -490,7 +494,7 @@ CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int batchReq } Incoming in(_reference->getInstance().get(), this, 0, _adapter, _response, 0, requestId); - in.invoke(servantManager, os); + in.invoke(servantManager, &is); --invokeNum; } } |