You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2010/02/03 15:10:44 UTC

svn commit: r906056 - in /qpid/trunk/qpid/cpp/src/qpid/broker: Message.cpp Message.h MessageAdapter.cpp MessageAdapter.h

Author: tross
Date: Wed Feb  3 14:10:44 2010
New Revision: 906056

URL: http://svn.apache.org/viewvc?rev=906056&view=rev
Log:
Added hook to retrieve priority from the delivery properties of a message.
This is to enable eventual work on priority-ordering in Queues.

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/Message.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Message.h
    qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.h

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Message.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Message.cpp?rev=906056&r1=906055&r2=906056&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Message.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Message.cpp Wed Feb  3 14:10:44 2010
@@ -420,6 +420,10 @@
     dequeueCallback = 0;
 }
 
+uint8_t Message::getPriority() const {
+    return getAdapter().getPriority(frames);
+}
+
 framing::FieldTable& Message::getOrInsertHeaders()
 {
     return getProperties<MessageProperties>()->getApplicationHeaders();

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Message.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Message.h?rev=906056&r1=906055&r2=906056&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Message.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Message.h Wed Feb  3 14:10:44 2010
@@ -161,6 +161,8 @@
     void setDequeueCompleteCallback(MessageCallback& cb);
     void resetDequeueCompleteCallback();
 
+    uint8_t getPriority() const;
+
   private:
     typedef std::map<const Queue*,boost::intrusive_ptr<Message> > Replacement;
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.cpp?rev=906056&r1=906055&r2=906056&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.cpp Wed Feb  3 14:10:44 2010
@@ -67,4 +67,9 @@
         return b && b->getAcceptMode() == 0/*EXPLICIT == 0*/;
     }
 
+    uint8_t TransferAdapter::getPriority(const framing::FrameSet& f)
+    {
+        const framing::DeliveryProperties* p = f.getHeaders()->get<framing::DeliveryProperties>();
+        return p ? p->getPriority() : 0;
+    }
 }}

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.h?rev=906056&r1=906055&r2=906056&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/MessageAdapter.h Wed Feb  3 14:10:44 2010
@@ -40,6 +40,7 @@
     virtual const framing::FieldTable* getApplicationHeaders(const framing::FrameSet& f) = 0;
     virtual bool isPersistent(const framing::FrameSet& f) = 0;
     virtual bool requiresAccept(const framing::FrameSet& f) = 0;    
+    virtual uint8_t getPriority(const framing::FrameSet& f) = 0;
 };
 
 struct TransferAdapter : MessageAdapter
@@ -50,6 +51,7 @@
     virtual bool isPersistent(const framing::FrameSet& f);
     bool isImmediate(const framing::FrameSet&);
     bool requiresAccept(const framing::FrameSet& f);    
+    uint8_t getPriority(const framing::FrameSet& f);
 };
 
 }}



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