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