From f3c08d2ea46e5fbb94e6117f67a874a0e3328fd2 Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Wed, 4 Feb 2009 22:57:34 +0000 Subject: Fixes to producer flow control to reduce the number of flow messages sent to the client and to eliminate a concurrency issue updating the broker flow control state. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740933 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/tests/RateFlowcontrolTest.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'cpp/src/tests/RateFlowcontrolTest.cpp') diff --git a/cpp/src/tests/RateFlowcontrolTest.cpp b/cpp/src/tests/RateFlowcontrolTest.cpp index 3e2e2fa777..b8fda09f61 100644 --- a/cpp/src/tests/RateFlowcontrolTest.cpp +++ b/cpp/src/tests/RateFlowcontrolTest.cpp @@ -42,21 +42,23 @@ QPID_AUTO_TEST_CASE(RateFlowcontrolTest) fc.sentCredit(n, 0); BOOST_CHECK_EQUAL( fc.receivedMessage(n, 0), 0U ); - fc.sentCredit(n, 100); + fc.sentCredit(n, 50); Duration d=250*TIME_MSEC; n = AbsTime(n,d); - BOOST_CHECK_EQUAL( fc.receivedMessage(n, 48), 25U ); - fc.sentCredit(n, 25); + BOOST_CHECK_EQUAL( fc.receivedMessage(n, 25), 0U ); + BOOST_CHECK_EQUAL( fc.availableCredit(n), 25U ); n = AbsTime(n,d); - BOOST_CHECK_EQUAL( fc.receivedMessage(n, 0), 23U ); - fc.sentCredit(n, 23); - BOOST_CHECK_EQUAL( fc.receivedMessage(n, 100), 0U); + BOOST_CHECK_EQUAL( fc.receivedMessage(n, 23), 48U ); + BOOST_CHECK_EQUAL( fc.availableCredit(n), 48U ); + fc.sentCredit(n, 48); + BOOST_CHECK_EQUAL( fc.receivedMessage(n, 50), 0U); BOOST_CHECK(fc.flowStopped()); n = AbsTime(n,d); + BOOST_CHECK_EQUAL( fc.receivedMessage(n, 0), 25U); n = AbsTime(n,d); BOOST_CHECK_EQUAL( fc.receivedMessage(n, 0), 50U); } -- cgit v1.2.1