mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DIRMINA-601) Add sendfile support to transport-apr
Date Fri, 12 Feb 2016 20:37:19 GMT

     [ https://issues.apache.org/jira/browse/DIRMINA-601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Emmanuel Lecharny updated DIRMINA-601:
    Fix Version/s:     (was: 2.0.12)

> Add sendfile support to transport-apr
> -------------------------------------
>                 Key: DIRMINA-601
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-601
>             Project: MINA
>          Issue Type: Improvement
>          Components: Core, Transport
>    Affects Versions: 2.0.0-M2
>            Reporter: Geoff Cadien
>             Fix For: 2.0.13
>         Attachments: sendfile-patches.zip
> I've take a shot at adding support for sendfile to transport-apr.  I've had to make several
changes because in the current code FileRegion is NIO specific because of it's reliance on
FileChannel.  I've made the following changes:
> I've created an interface called SendableFile to take the place of using FileChannel
in FileRegion.  I've also created two implementations of this interface, AprSendableFile and
NioSendableFile.  The method of interest is send(long position, long length) which is used
to send the file.  Notice it doesn't take an IoSession or a Channel as a parameter.  I tried
using generics to include  the proper subclass of IoSession but that didn't work out very
well. :-)
> There are still a couple of problems that need to be dealt with.  First and foremost
is that AbstractIoSession will create instances of DefaultFileRegion in the write method when
passed either a File or a FileChannel.  This causes a problem because FileRegion is no longer
NIO specific.  I don't have a solution right now other than removing the code.
> The other problem is with FileRegionWriteFilter (and unit test), again because FileRegion
is NIO specific and exposes a FileChannel.  
> I'm hoping somebody can take a look at the code and provide some feedback if they believe
this is headed in the right direction or have a better idea.  I'll attach the patches shortly.

This message was sent by Atlassian JIRA

View raw message