summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/client/AckPolicy.h2
-rw-r--r--cpp/src/qpid/client/SubscriptionManager.h2
-rw-r--r--cpp/src/tests/cluster_test.cpp27
3 files changed, 29 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/AckPolicy.h b/cpp/src/qpid/client/AckPolicy.h
index b34f1d15d1..84bfb6a46a 100644
--- a/cpp/src/qpid/client/AckPolicy.h
+++ b/cpp/src/qpid/client/AckPolicy.h
@@ -44,7 +44,7 @@ class AckPolicy
/**
* 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);
diff --git a/cpp/src/qpid/client/SubscriptionManager.h b/cpp/src/qpid/client/SubscriptionManager.h
index 10dd8b8da3..07faa48fee 100644
--- a/cpp/src/qpid/client/SubscriptionManager.h
+++ b/cpp/src/qpid/client/SubscriptionManager.h
@@ -183,7 +183,7 @@ class SubscriptionManager : public sys::Runnable
/** 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);
diff --git a/cpp/src/tests/cluster_test.cpp b/cpp/src/tests/cluster_test.cpp
index 72440bbe88..a20a3841a9 100644
--- a/cpp/src/tests/cluster_test.cpp
+++ b/cpp/src/tests/cluster_test.cpp
@@ -220,6 +220,33 @@ class Sender {
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);