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