You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2008/10/20 22:44:30 UTC

svn commit: r706400 - in /incubator/qpid/trunk/qpid/cpp/src: qpid/client/AckPolicy.h qpid/client/SubscriptionManager.h tests/cluster_test.cpp

Author: aconway
Date: Mon Oct 20 13:44:29 2008
New Revision: 706400

URL: http://svn.apache.org/viewvc?rev=706400&view=rev
Log:
cluster_test: Unit test for Tx state replication.

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h
    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/client/AckPolicy.h
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h?rev=706400&r1=706399&r2=706400&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/AckPolicy.h Mon Oct 20 13:44:29 2008
@@ -44,7 +44,7 @@
     /**
      * Sends accepts and marks completion of received transfers.
      * 
-     *@param n: acknowledge every n messages.
+     *@param n: send an accept for every n messages received.
      *n==0 means no automatic acknowledgement.
      */
     AckPolicy(size_t n=1);

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=706400&r1=706399&r2=706400&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h Mon Oct 20 13:44:29 2008
@@ -183,7 +183,7 @@
 
     /** Set the accept-mode for new subscriptions. Defaults to true.
      *@param required: if true messages must be confirmed by calling
-     *Message::acknowledge() or automatically, see setAckPolicy()
+     *Message::acknowledge() or automatically via an AckPolicy, see setAckPolicy()
      */
     void setAcceptMode(bool required);
 

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=706400&r1=706399&r2=706400&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/tests/cluster_test.cpp Mon Oct 20 13:44:29 2008
@@ -220,6 +220,33 @@
     uint16_t channel;
 };
 
+// FIXME aconway 2008-10-20: dump Tx state.
+QPID_AUTO_TEST_CASE_EXPECTED_FAILURES(testDumpTxState, 1) {
+    // Verify that we dump transaction state correctly to new members.
+    ClusterFixture cluster(1);
+    Client c0(cluster[0], "c0");
+    c0.session.txSelect();
+    c0.session.queueDeclare("q");
+    c0.session.messageTransfer(arg::content=Message("1","q"));
+    c0.session.txCommit();
+    
+    c0.subs.subscribe(c0.lq, "q", FlowControl::messageCredit(1));
+    Message m;
+    BOOST_CHECK(c0.lq.get(m, TIME_SEC));
+    BOOST_CHECK_EQUAL(m.getData(), "1");
+    c0.session.messageTransfer(arg::content=Message("2","q"));
+
+    cluster.add();
+    Client c1(cluster[1], "c1");
+    // Not yet comitted, c1 should see nothing.
+    BOOST_CHECK_EQUAL(c1.session.queueQuery(arg::queue="q").getMessageCount(), 0u);
+    c0.session.txCommit();
+    // c1 shoudl see results of tx.
+    BOOST_CHECK_EQUAL(c1.session.queueQuery(arg::queue="q").getMessageCount(), 1u);
+    BOOST_CHECK(c1.subs.get(m, "q", TIME_SEC));
+    BOOST_CHECK_EQUAL(m.getData(), "2");
+}
+
 QPID_AUTO_TEST_CASE(testDumpMessageBuilder) {
     // Verify that we dump a partially recieved message to a new member.
     ClusterFixture cluster(1);