diff options
author | Robert Gemmell <robbie@apache.org> | 2011-11-11 10:16:47 +0000 |
---|---|---|
committer | Robert Gemmell <robbie@apache.org> | 2011-11-11 10:16:47 +0000 |
commit | a1f730067b3be09080327ac05312eeb6da47297b (patch) | |
tree | 067c28d9b775ca11c3409d56427dc926bc356323 /java/broker/src/main/java/org/apache/qpid/server/subscription | |
parent | 9da016b7e810e054bb2b0cf21bf1ad5573c97d4b (diff) | |
download | qpid-python-a1f730067b3be09080327ac05312eeb6da47297b.tar.gz |
QPID-3592: ensure that the 'used credit' values are decremented when message transfer commands 'completed' following a message.stop command attempt to restore their credit (to no effect due to the 0 credit limit) when using 0-10 Window credit mode. Add unit test, and break CreditManager dependency on ServerMessages by passing the required size value rather than the message itself.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1200801 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/subscription')
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java | 4 | ||||
-rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java b/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java index bdf9c7119f..6603f58104 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java +++ b/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java @@ -234,7 +234,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage public boolean wouldSuspend(QueueEntry msg) { - return !getCreditManager().useCreditForMessage(msg.getMessage()); + return !getCreditManager().useCreditForMessage(msg.getMessage().getSize()); } } @@ -575,7 +575,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage public boolean wouldSuspend(QueueEntry msg) { - return !_creditManager.useCreditForMessage(msg.getMessage());//_channel.wouldSuspend(msg.getMessage()); + return !_creditManager.useCreditForMessage(msg.getMessage().getSize());//_channel.wouldSuspend(msg.getMessage()); } public void getSendLock() diff --git a/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java b/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java index 6598d07a84..eebd50b0b4 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java +++ b/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java @@ -654,9 +654,9 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr _deleted.set(true); } - public boolean wouldSuspend(QueueEntry msg) + public boolean wouldSuspend(QueueEntry entry) { - return !_creditManager.useCreditForMessage(msg.getMessage()); + return !_creditManager.useCreditForMessage(entry.getMessage().getSize()); } public void getSendLock() |