From d1f99cede240ade9532da4fe5061a177c5c63f33 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 4 Jun 2008 16:00:17 +0000 Subject: 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/qpid@663271 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/tests/SessionState.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'cpp/src/tests') diff --git a/cpp/src/tests/SessionState.cpp b/cpp/src/tests/SessionState.cpp index 51259bac2b..ba966da9b1 100644 --- a/cpp/src/tests/SessionState.cpp +++ b/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() -- cgit v1.2.1