You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2008/07/28 10:22:53 UTC

svn commit: r680286 - /mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java

Author: jvermillard
Date: Mon Jul 28 01:22:53 2008
New Revision: 680286

URL: http://svn.apache.org/viewvc?rev=680286&view=rev
Log:
DIRMINA-610 too big messages aren't correctly flushed

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java

Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java?rev=680286&r1=680285&r2=680286&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java (original)
+++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java Mon Jul 28 01:22:53 2008
@@ -686,6 +686,12 @@
                             session, req, hasFragmentation,
                             maxWrittenBytes - writtenBytes,
                             currentTime);
+                    if (localWrittenBytes > 0 && ((IoBuffer)message).hasRemaining() ) {
+                    	// the buffer isn't empty, we re-interest it in writing 
+                    	writtenBytes += localWrittenBytes;    	
+                    	setInterestedInWrite(session, true);
+                        return false;
+                    }
                 } else if (message instanceof FileRegion) {
                     localWrittenBytes = writeFile(
                             session, req, hasFragmentation,