diff options
author | Kenneth Anthony Giusti <kgiusti@apache.org> | 2011-11-09 18:46:57 +0000 |
---|---|---|
committer | Kenneth Anthony Giusti <kgiusti@apache.org> | 2011-11-09 18:46:57 +0000 |
commit | 350d72e7de9b9840894ca921fb94b3f6462e88a6 (patch) | |
tree | 654d92737030ccd05e291c269ea5688d3c9ada0a | |
parent | 80ac5f29701a339993fdae3096d32a48bdbce7e1 (diff) | |
download | qpid-python-350d72e7de9b9840894ca921fb94b3f6462e88a6.tar.gz |
add timestamp of oldest msg per group to query output
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1199914 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/broker/MessageGroupManager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp b/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp index 00d1a58bef..3a996db9cc 100644 --- a/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp +++ b/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp @@ -281,7 +281,16 @@ void MessageGroupManager::query(qpid::types::Variant::Map& status) const qpid::types::Variant::Map info; info[GROUP_ID_KEY] = g->first; info[GROUP_MSG_COUNT] = g->second.members.size(); - info[GROUP_TIMESTAMP] = 0; /** @todo KAG - NEED HEAD MSG TIMESTAMP */ + // set the timestamp to the arrival timestamp of the oldest (HEAD) message, if present + info[GROUP_TIMESTAMP] = 0; + if (g->second.members.size() != 0) { + QueuedMessage qm; + if (messages.find(g->second.members.front(), qm) && + qm.payload && + qm.payload->hasProperties<framing::DeliveryProperties>()) { + info[GROUP_TIMESTAMP] = qm.payload->getProperties<framing::DeliveryProperties>()->getTimestamp(); + } + } info[GROUP_CONSUMER] = g->second.owner; groups.push_back(info); } |