Author: aconway
Date: Fri Oct 31 08:08:00 2008
New Revision: 709440
URL: http://svn.apache.org/viewvc?rev=709440&view=rev
Log:
Added return Message overload of SubscriptionManager get().
Fixed compile error in broker/Vhost.cpp
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.cpp Fri Oct 31 08:08:00
2008
@@ -24,7 +24,9 @@
using qpid::management::ManagementAgent;
namespace _qmf = qmf::org::apache::qpid::broker;
-class qpid::management::Manageable;
+namespace qpid { namespace management {
+class Manageable;
+}}
Vhost::Vhost (qpid::management::Manageable* parentBroker) : mgmtObject(0)
{
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h Fri Oct 31
08:08:00 2008
@@ -58,11 +58,13 @@
/** Get the next message off the local queue, or wait up to the timeout
* for message from the broker queue.
- [EMAIL PROTECTED] ClosedException if subscription is closed or timeout
exceeded.
+ [EMAIL PROTECTED] timeout wait up this timeout for a message to appear.
+ [EMAIL PROTECTED] message from the queue.
+ [EMAIL PROTECTED] ClosedException if subscription is closed or timeout
exceeded.
*/
Message get(sys::Duration timeout=sys::TIME_INFINITE);
- /** Synonym for get(). */
+ /** Synonym for get() */
Message pop(sys::Duration timeout=sys::TIME_INFINITE);
/** Return true if local queue is empty. */
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.cpp Fri
Oct 31 08:08:00 2008
@@ -107,6 +107,13 @@
return lq.get(result, 0);
}
+Message SubscriptionManager::get(const std::string& queue, sys::Duration
timeout) {
+ Message result;
+ if (!get(result, queue, timeout))
+ throw Exception("Timed out waiting for a message");
+ return result;
+}
+
Session SubscriptionManager::getSession() const { return session; }
Subscription SubscriptionManager::getSubscription(const std::string& name)
const {
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h Fri Oct
31 08:08:00 2008
@@ -120,12 +120,18 @@
/** Get a single message from a queue.
[EMAIL PROTECTED] result is set to the message from the queue.
- *@
[EMAIL PROTECTED] timeout wait up this timeout for a message to appear.
[EMAIL PROTECTED] true if result was set, false if no message available
after timeout.
*/
bool get(Message& result, const std::string& queue, sys::Duration
timeout=0);
+ /** Get a single message from a queue.
+ [EMAIL PROTECTED] timeout wait up this timeout for a message to appear.
+ [EMAIL PROTECTED] message from the queue.
+ [EMAIL PROTECTED] Exception if the timeout is exceeded.
+ */
+ Message get(const std::string& queue, sys::Duration
timeout=sys::TIME_INFINITE);
+
/** Get a subscription by name.
[EMAIL PROTECTED] Exception if not found.
*/
Modified: incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp?rev=709440&r1=709439&r2=709440&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp Fri Oct 31
08:08:00 2008
@@ -264,12 +264,9 @@
BOOST_CHECK_EQUAL(c1.session.queueQuery("q1").getMessageCount(), 1u);
BOOST_CHECK_EQUAL(c1.session.queueQuery("q2").getMessageCount(), 2u);
- BOOST_CHECK(c1.subs.get(m, "q1", TIME_SEC));
- BOOST_CHECK_EQUAL(m.getData(), "11");
- BOOST_CHECK(c1.subs.get(m, "q2", TIME_SEC));
- BOOST_CHECK_EQUAL(m.getData(), "21");
- BOOST_CHECK(c1.subs.get(m, "q2", TIME_SEC));
- BOOST_CHECK_EQUAL(m.getData(), "22");
+ BOOST_CHECK_EQUAL(c1.subs.get("q1", TIME_SEC).getData(), "11");
+ BOOST_CHECK_EQUAL(c1.subs.get("q2", TIME_SEC).getData(), "21");
+ BOOST_CHECK_EQUAL(c1.subs.get("q2", TIME_SEC).getData(), "22");
}
QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testDumpTxState, 1) {