[jboss-cvs] JBoss Messaging SVN: r5224 - in branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core: server/impl and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 30 12:25:56 EDT 2008


Author: clebert.suconic at jboss.com
Date: 2008-10-30 12:25:55 -0400 (Thu, 30 Oct 2008)
New Revision: 5224

Modified:
   branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java
   branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/server/impl/ServerConsumerImpl.java
Log:
tweaks..

Modified: branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java
===================================================================
--- branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java	2008-10-30 16:17:27 UTC (rev 5223)
+++ branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/client/impl/ClientConsumerImpl.java	2008-10-30 16:25:55 UTC (rev 5224)
@@ -70,7 +70,7 @@
 
    private final Runner runner = new Runner();
    
-   private File largeMessagesDir;
+   private File directory;
 
    private ClientMessage currentChunkMessage;
 
@@ -108,7 +108,7 @@
 
       this.direct = direct;
       
-      this.largeMessagesDir = directory;
+      this.directory = directory;
    }
 
    // ClientConsumer implementation
@@ -203,14 +203,14 @@
    {
       if (isFileConsumer())
       {
-         if (!this.largeMessagesDir.exists())
+         if (!this.directory.exists())
          {
-            largeMessagesDir.mkdirs();
+            directory.mkdirs();
          }
          
          FileClientMessageImpl message = new FileClientMessageImpl();
          message.decodeProperties(propertiesBuffer);
-         message.setFile(new File(this.largeMessagesDir, message.getMessageID() + "-" + this.session.getName() + "-" + this.getID() + ".jbm"));
+         message.setFile(new File(this.directory, message.getMessageID() + "-" + this.session.getName() + "-" + this.getID() + ".jbm"));
          message.setLargeMessage(true);
          return message;
       }
@@ -296,7 +296,7 @@
     */
    public boolean isFileConsumer()
    {
-      return largeMessagesDir != null;
+      return directory != null;
    }
    
    // ClientConsumerInternal implementation
@@ -367,7 +367,7 @@
          return;
       }
       
-      flowControl(chunk.getPacketSize());
+      flowControl(chunk.getBody().length);
       
 
       if (chunk.getHeader() != null)

Modified: branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/server/impl/ServerConsumerImpl.java
===================================================================
--- branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/server/impl/ServerConsumerImpl.java	2008-10-30 16:17:27 UTC (rev 5223)
+++ branches/Branch_Chunk_CRS2/src/main/org/jboss/messaging/core/server/impl/ServerConsumerImpl.java	2008-10-30 16:25:55 UTC (rev 5224)
@@ -491,20 +491,28 @@
             return true;
          }
 
+         if (availableCredits != null && availableCredits.get() <= 0)
+         {
+            return false;
+         }
+
          if (readAheadChunk != null)
          {
-            positionLargeMessage += readAheadChunk.getBody().length;
+            int chunkLen = readAheadChunk.getBody().length;
+            positionLargeMessage += chunkLen;
             channel.send(readAheadChunk);
             readAheadChunk = null;
-            
+            if (availableCredits != null)
+            {
+               availableCredits.addAndGet(-chunkLen);
+            }
          }
          
          while (positionLargeMessage < sizeLargeMessage)
          {
             
-            if (availableCredits.get() <= 0)
+            if (availableCredits != null && availableCredits.get() <= 0)
             {
-               
                if (readAheadChunk == null)
                {
                   readAheadChunk = createChunkSend();




More information about the jboss-cvs-commits mailing list