mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geoff Cadien (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRMINA-525) AbstractIoSession.increaseWrittenBytesAndMessages does not update writtenBytes for FileRegion
Date Fri, 01 Feb 2008 21:31:09 GMT
AbstractIoSession.increaseWrittenBytesAndMessages does not update writtenBytes for FileRegion

                 Key: DIRMINA-525
                 URL: https://issues.apache.org/jira/browse/DIRMINA-525
             Project: MINA
          Issue Type: Bug
          Components: Core
         Environment: jdk1.6.0_03 Linux x64
            Reporter: Geoff Cadien
             Fix For: 2.0.0-M1

AbstractIoSession.increaseWrittenBytesAndMessages only updates writtenMessages and not writtenBytes
for a FileRegion.  
Below is a patch that fixes the problem but I'm not sure if it is correct.  When the WriteRequest
contains an IoBuffer a check is made to see if the IoBuffer has any remaining bytes and only
updates writtenBytes if it does.  I've never seen this method called when only part of a FileRegion
is sent and I'm sure how it could be because it seems that increaseWrittenBytesAndMessages
is only called from fireMessageSent.

Index: AbstractIoSession.java
--- AbstractIoSession.java      (revision 616815)
+++ AbstractIoSession.java      (working copy)
@@ -541,6 +541,12 @@
             } else {
+        } else if (message instanceof FileRegion) {
+            FileRegion region = (FileRegion) message;
+            if (region.getCount() == 0) {
+                increaseWrittenBytes(region.getWrittenBytes(), currentTime);
+                increaseWrittenMessages(currentTime);
+            } 
         } else {

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message