[jboss-cvs] JBoss Messaging SVN: r2348 - trunk/src/main/org/jboss/jms/client/remoting.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 19 07:49:06 EST 2007
Author: timfox
Date: 2007-02-19 07:49:06 -0500 (Mon, 19 Feb 2007)
New Revision: 2348
Modified:
trunk/src/main/org/jboss/jms/client/remoting/MessageCallbackHandler.java
Log:
More flow control tweaks
Modified: trunk/src/main/org/jboss/jms/client/remoting/MessageCallbackHandler.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/remoting/MessageCallbackHandler.java 2007-02-19 12:42:29 UTC (rev 2347)
+++ trunk/src/main/org/jboss/jms/client/remoting/MessageCallbackHandler.java 2007-02-19 12:49:06 UTC (rev 2348)
@@ -262,7 +262,7 @@
messageAdded();
- checkBufferSize();
+ checkStop();
}
}
@@ -471,7 +471,7 @@
}
//This needs to be outside the lock
- checkBufferSize();
+ checkStart();
if (trace) { log.trace(this + " receive() returning " + m); }
@@ -480,20 +480,12 @@
private volatile boolean serverSending = true;
- private void checkBufferSize()
+ private void checkStop()
{
int size = buffer.size();
- if (!serverSending && size <= minBufferSize)
+ if (serverSending && size >= maxBufferSize)
{
- //We need more messages - we need to tell the server this if we haven't done so already
-
- sendChangeRateMessage(1.0f);
-
- serverSending = true;
- }
- else if (serverSending && size >= maxBufferSize)
- {
//Our buffer is full - we need to tell the server to stop sending if we haven't
//done so already
@@ -503,6 +495,20 @@
}
}
+ private void checkStart()
+ {
+ int size = buffer.size();
+
+ if (!serverSending && size <= minBufferSize)
+ {
+ //We need more messages - we need to tell the server this if we haven't done so already
+
+ sendChangeRateMessage(1.0f);
+
+ serverSending = true;
+ }
+ }
+
private void sendChangeRateMessage(float newRate)
{
try
@@ -804,7 +810,7 @@
}
}
- checkBufferSize();
+ checkStart();
if (again)
{
More information about the jboss-cvs-commits
mailing list