summaryrefslogtreecommitdiff
path: root/cpp/lib/common/framing/ChannelAdapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/lib/common/framing/ChannelAdapter.cpp')
-rw-r--r--cpp/lib/common/framing/ChannelAdapter.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpp/lib/common/framing/ChannelAdapter.cpp b/cpp/lib/common/framing/ChannelAdapter.cpp
index 149c8144b4..53ab30faa0 100644
--- a/cpp/lib/common/framing/ChannelAdapter.cpp
+++ b/cpp/lib/common/framing/ChannelAdapter.cpp
@@ -55,7 +55,9 @@ void ChannelAdapter::send(AMQBody::shared_ptr body) {
void ChannelAdapter::handleRequest(AMQRequestBody::shared_ptr request) {
assertMethodOk(*request);
- responder.received(request->getData());
+ AMQRequestBody::Data& requestData = request->getData();
+ responder.received(requestData);
+ requestInProgress = requestData.requestId;
handleMethodInContext(request, MethodContext(this, request));
}
@@ -63,7 +65,10 @@ void ChannelAdapter::handleResponse(AMQResponseBody::shared_ptr response) {
assertMethodOk(*response);
// TODO aconway 2007-01-30: Consider a response handled on receipt.
// Review - any cases where this is not the case?
- requester.processed(response->getData());
+ AMQResponseBody::Data& responseData = response->getData();
+ requester.processed(responseData);
+ // For a response this is taken to be the request being responded to (for convenience)
+ requestInProgress = responseData.requestId;
handleMethod(response);
}