[
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.10)
2.0.11
> 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.11
>
> 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
(v6.3.4#6332)