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 | d1410955e1a1522716a66e19130db0e2263575dd (patch) | |
tree | adf078c66c16dd2a9b37816e5886067cff2d641c /cpp/src/qpid | |
parent | e8f86356e9eb1eee94dd1ea38eda83c56d6768c5 (diff) | |
download | qpid-python-d1410955e1a1522716a66e19130db0e2263575dd.tar.gz |
add timestamp of oldest msg per group to query output
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1199914 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid')
-rw-r--r-- | cpp/src/qpid/broker/MessageGroupManager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/MessageGroupManager.cpp b/cpp/src/qpid/broker/MessageGroupManager.cpp index 00d1a58bef..3a996db9cc 100644 --- a/cpp/src/qpid/broker/MessageGroupManager.cpp +++ b/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); } |