[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