diff options
| author | Ted Ross <tross@apache.org> | 2009-05-13 17:12:27 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2009-05-13 17:12:27 +0000 |
| commit | 4266fbd54c71fdcc0a6472e4d447798983a8967a (patch) | |
| tree | f61c704836a449fb2ce9e534b585eb889dd5c6b1 /qpid/cpp | |
| parent | 5672c2d7dd7455d69497f47ca152f04665d8e25f (diff) | |
| download | qpid-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.cpp | 28 |
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); + } } } |
