mapped io for non-default file system

Philippe Marschall philippe.marschall at gmail.com
Wed Jun 26 11:12:10 PDT 2013


Hi

Currently it's not possible for a non-default file system to provide
mapped io. A custom FileSystemProvider can override #newFileChannel
and return a custom FileChannel. This channel class has to implement
#map (since it's abstract in FileChannel) and return a
MappedByteBuffer. However even though MappedByteBuffer is abstract it
can not be implemented by custom file systems because the constructors
are package protected and it has final methods that call native
methods (and require a FileDescriptor).

So my question is whether this is intentional because the semantics
are supposed to be mmap() or rather an oversight. If it's intentional
then maybe a comment on FileChannel#map would be helpful to document
the expected behaviour for non-defaulft file systems
(UnsupportedOperationException or IOException).

Cheers
Philippe


More information about the nio-dev mailing list