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();