summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/RateFlowcontrolTest.cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2009-02-04 22:57:34 +0000
committerAndrew Stitcher <astitcher@apache.org>2009-02-04 22:57:34 +0000
commitd35d9452f0830ddd9a1954d9f7f75dbba83b6ec2 (patch)
treede915d98f3cc37f99d36759cae22a4f90b49a95e /qpid/cpp/src/tests/RateFlowcontrolTest.cpp
parent1ef9a5e8d5a11fe70e60658ab74e0bc7236e2727 (diff)
downloadqpid-python-d35d9452f0830ddd9a1954d9f7f75dbba83b6ec2.tar.gz
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@740933 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/tests/RateFlowcontrolTest.cpp')
-rw-r--r--qpid/cpp/src/tests/RateFlowcontrolTest.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/qpid/cpp/src/tests/RateFlowcontrolTest.cpp b/qpid/cpp/src/tests/RateFlowcontrolTest.cpp
index 3e2e2fa777..b8fda09f61 100644
--- a/qpid/cpp/src/tests/RateFlowcontrolTest.cpp
+++ b/qpid/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);
}