summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-05-13 17:12:27 +0000
committerTed Ross <tross@apache.org>2009-05-13 17:12:27 +0000
commit4266fbd54c71fdcc0a6472e4d447798983a8967a (patch)
treef61c704836a449fb2ce9e534b585eb889dd5c6b1 /qpid/cpp
parent5672c2d7dd7455d69497f47ca152f04665d8e25f (diff)
downloadqpid-python-4266fbd54c71fdcc0a6472e4d447798983a8967a.tar.gz
Suppress the return of deleted objects for synchronous management get requests to the broker
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@774438 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/management/ManagementAgent.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/qpid/cpp/src/qpid/management/ManagementAgent.cpp b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
index 77277070d9..8dce82ba84 100644
--- a/qpid/cpp/src/qpid/management/ManagementAgent.cpp
+++ b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
@@ -821,12 +821,14 @@ void ManagementAgent::handleGetQueryLH (Buffer& inBuffer, string replyToKey, uin
if (object->getConfigChanged() || object->getInstChanged())
object->setUpdateTime();
- encodeHeader(outBuffer, 'g', sequence);
- object->writeProperties(outBuffer);
- object->writeStatistics(outBuffer, true);
- outLen = MA_BUFFER_SIZE - outBuffer.available ();
- outBuffer.reset ();
- sendBuffer(outBuffer, outLen, dExchange, replyToKey);
+ if (!object->isDeleted()) {
+ encodeHeader(outBuffer, 'g', sequence);
+ object->writeProperties(outBuffer);
+ object->writeStatistics(outBuffer, true);
+ outLen = MA_BUFFER_SIZE - outBuffer.available ();
+ outBuffer.reset ();
+ sendBuffer(outBuffer, outLen, dExchange, replyToKey);
+ }
}
sendCommandComplete(replyToKey, sequence);
return;
@@ -845,12 +847,14 @@ void ManagementAgent::handleGetQueryLH (Buffer& inBuffer, string replyToKey, uin
if (object->getConfigChanged() || object->getInstChanged())
object->setUpdateTime();
- encodeHeader(outBuffer, 'g', sequence);
- object->writeProperties(outBuffer);
- object->writeStatistics(outBuffer, true);
- outLen = MA_BUFFER_SIZE - outBuffer.available ();
- outBuffer.reset ();
- sendBuffer(outBuffer, outLen, dExchange, replyToKey);
+ if (!object->isDeleted()) {
+ encodeHeader(outBuffer, 'g', sequence);
+ object->writeProperties(outBuffer);
+ object->writeStatistics(outBuffer, true);
+ outLen = MA_BUFFER_SIZE - outBuffer.available ();
+ outBuffer.reset ();
+ sendBuffer(outBuffer, outLen, dExchange, replyToKey);
+ }
}
}