summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Anthony Giusti <kgiusti@apache.org>2011-11-09 18:46:57 +0000
committerKenneth Anthony Giusti <kgiusti@apache.org>2011-11-09 18:46:57 +0000
commit350d72e7de9b9840894ca921fb94b3f6462e88a6 (patch)
tree654d92737030ccd05e291c269ea5688d3c9ada0a
parent80ac5f29701a339993fdae3096d32a48bdbce7e1 (diff)
downloadqpid-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.cpp11
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);
}