summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-08-06 15:02:36 +0000
committerGordon Sim <gsim@apache.org>2007-08-06 15:02:36 +0000
commitb185c006a0e176058d06fa296b7a1e94d8692dbb (patch)
treef201656fe6abd06dcdebbd70dfee36bb1ca21455 /cpp/src
parent9e3b199c36feb42ec1f457381be9974ac4d7b51f (diff)
downloadqpid-python-b185c006a0e176058d06fa296b7a1e94d8692dbb.tar.gz
Send flush after get request. Fixes perftest.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@563163 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/client/ClientChannel.cpp2
-rw-r--r--cpp/src/qpid/client/Response.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/qpid/client/ClientChannel.cpp b/cpp/src/qpid/client/ClientChannel.cpp
index 9eca2903cc..424ff97ea1 100644
--- a/cpp/src/qpid/client/ClientChannel.cpp
+++ b/cpp/src/qpid/client/ClientChannel.cpp
@@ -220,7 +220,9 @@ void Channel::cancel(const std::string& tag, bool synch) {
bool Channel::get(Message& msg, const Queue& queue, AckMode ackMode) {
AMQMethodBody::shared_ptr request(new BasicGetBody(version, 0, queue.getName(), ackMode));
+
Response response = session->send(request, true);
+ session->flush();
if (response.isA<BasicGetEmptyBody>()) {
return false;
} else {
diff --git a/cpp/src/qpid/client/Response.h b/cpp/src/qpid/client/Response.h
index f44cd72783..425d78e7cd 100644
--- a/cpp/src/qpid/client/Response.h
+++ b/cpp/src/qpid/client/Response.h
@@ -43,7 +43,8 @@ public:
}
template <class T> bool isA()
{
- return future->getResponse()->isA<T>();
+ framing::AMQMethodBody::shared_ptr response(future->getResponse());
+ return response && response->isA<T>();
}
void sync()