Author: kgiusti
Date: Wed Nov  9 18:46:57 2011
New Revision: 1199914

URL: http://svn.apache.org/viewvc?rev=1199914&view=rev
Log:
add timestamp of oldest msg per group to query output

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp?rev=1199914&r1=1199913&r2=1199914&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/MessageGroupManager.cpp Wed Nov  9 
18:46:57 2011
@@ -281,7 +281,16 @@ void MessageGroupManager::query(qpid::ty
         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);
     }



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscr...@qpid.apache.org

Reply via email to