summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/SessionState.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-06-04 16:00:17 +0000
committerAlan Conway <aconway@apache.org>2008-06-04 16:00:17 +0000
commit563e02f00fd35634cde9db8eaa6c9f29c1456afb (patch)
treeb46ff4a005e73509aebc2f66ba21f99df8b4b490 /qpid/cpp/src/tests/SessionState.cpp
parent41a04a45030b3d3663d3dea918b94106c4d83db3 (diff)
downloadqpid-python-563e02f00fd35634cde9db8eaa6c9f29c1456afb.tar.gz
Increased default flush interval to 1MB, send spontaneous known-completed at the flush interval.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@663271 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/SessionState.cpp')
-rw-r--r--qpid/cpp/src/tests/SessionState.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/SessionState.cpp b/qpid/cpp/src/tests/SessionState.cpp
index 51259bac2b..ba966da9b1 100644
--- a/qpid/cpp/src/tests/SessionState.cpp
+++ b/qpid/cpp/src/tests/SessionState.cpp
@@ -260,4 +260,41 @@ QPID_AUTO_TEST_CASE(testCompleted) {
// TODO aconway 2008-04-30: missing tests for known-completed.
}
+QPID_AUTO_TEST_CASE(testNeedKnownCompleted) {
+ size_t flushInterval= 2*(transferFrameSize()+contentFrameSize())+1;
+ qpid::SessionState::Configuration c(flushInterval);
+ qpid::SessionState s(qpid::SessionId(), c);
+ s.senderGetCommandPoint();
+ transfers(s, "a");
+ SequenceSet set(SequenceSet() + 0);
+ s.senderCompleted(set);
+ BOOST_CHECK(!s.senderNeedKnownCompleted());
+
+ transfers(s, "b");
+ set += 1;
+ s.senderCompleted(set);
+ BOOST_CHECK(!s.senderNeedKnownCompleted());
+
+ transfers(s, "c");
+ set += 2;
+ s.senderCompleted(set);
+ BOOST_CHECK(s.senderNeedKnownCompleted());
+ s.senderRecordKnownCompleted();
+ BOOST_CHECK(!s.senderNeedKnownCompleted());
+
+ transfers(s, "de");
+ set += 3;
+ set += 4;
+ s.senderCompleted(set);
+ BOOST_CHECK(!s.senderNeedKnownCompleted());
+
+ transfers(s, "f");
+ set += 2;
+ s.senderCompleted(set);
+ BOOST_CHECK(s.senderNeedKnownCompleted());
+ s.senderRecordKnownCompleted();
+ BOOST_CHECK(!s.senderNeedKnownCompleted());
+}
+
+
QPID_AUTO_TEST_SUITE_END()