Hmm, where would you put it ? Into java.nio.channels because it
inherits FileChannel, or java.io because its used there ?
Ahhh you got a point there. Well in that case i would suggest
java.io, to make the package protection work.
The problem is that its used from other classes in gnu.java.nio too.
File locking, mapped byte buffers, all (will) need it.
I searched and found that FileChannelImpl is used in
gnu.java.nio.FileLockImpl, java.nio.channels.Channels &
java.io.FileDescriptor.
So here is my suggestions.
- Rename gnu.java.nio.FileChannelImpl to VMFileChannel (placed in
vm/reference)
- Rename gnu.java.nio.FileLockImpl to VMFileLock (placed in
vm/reference)
- Add a new VMFileChannelImpl in java.io (placed in vm/reference) that
constains
- a static method FileChannel open(...) the default implementation
is to return a new VMFileChannel(...), but vm's can decide to implement
it themselves.
- a static method FileChannel getOut(), FileChannel getIn(),
FileChannel getErr() to replace the in, out, err fields of
FileChannelImpl
- Add a new VMChannels to java.nio.channels (placed in vm/reference)
that implements the native methods of Channels (newInputStream,
newOutputStream)
- Replace the FileChannelImpl instanceof check in Channels by a
FileChannel instanceof check.
- Replace the FileChannelImpl.in/out/err reference in
java.io.FileDescriptor with VMFileChannelImpl.getIn()/getOut()/getErr().
Ewout
Michael
|
_______________________________________________
Classpath mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/classpath