Author: mheath
Date: Thu Feb 14 09:17:15 2008
New Revision: 627806

URL: http://svn.apache.org/viewvc?rev=627806&view=rev
Log:
Fixed DIRMINA-525 and added tests for patch.

Modified:
    mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoSession.java
    
mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoSession.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoSession.java?rev=627806&r1=627805&r2=627806&view=diff
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoSession.java 
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/common/AbstractIoSession.java 
Thu Feb 14 09:17:15 2008
@@ -541,6 +541,12 @@
             } else {
                 increaseWrittenMessages(currentTime);
             }
+        } else if (message instanceof FileRegion) {
+            FileRegion region = (FileRegion) message;
+            if (region.getCount() == 0) {
+                increaseWrittenBytes(region.getWrittenBytes(), currentTime);
+                increaseWrittenMessages(currentTime);
+            }
         } else {
             increaseWrittenMessages(currentTime);
         }

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java?rev=627806&r1=627805&r2=627806&view=diff
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/transport/AbstractFileRegionTest.java
 Thu Feb 14 09:17:15 2008
@@ -80,7 +80,8 @@
         ConnectFuture future = connector.connect(new 
InetSocketAddress("localhost", port));
         future.awaitUninterruptibly();
         
-        future.getSession().write(file);
+        IoSession session = future.getSession();
+        session.write(file);
         
         latch.await();
         
@@ -88,6 +89,9 @@
             throw exception[0];
         }
         assertTrue("Did not complete file transfer successfully", success[0]);
+        
+        assertEquals("Written messages should be 1 (we wrote one file)", 1, 
session.getWrittenMessages());
+        assertEquals("Written bytes should match file size", FILE_SIZE, 
session.getWrittenBytes());
         
         connector.dispose();
         acceptor.dispose();


Reply via email to