(inChannelOperation): New field.
(isInChannelOperation): New accessor.
(setInChannelOperation): New modifier.
* gnu/java/nio/ServerSocketChannelImpl.java
(accept): Set and reset our server socket's PlainSocketImpl's
"in channel operation" indicator before and after delegating
the accept to our server socket.
* gnu/java/nio/SocketChannelImpl.java
(connect): Set and reset our socket's PlainSocketImpl's "in channel
operation" indicator before and after delegating the operation to
our socket.
(read): Likewise.
(write): Likewise.
* java/net/ServerSocket.java (implAccept): Don't throw an
IllegalBlockingModeException if we have a non-blocking
channel which initiated this accept operation.
* java/net/Socket.java (connect): Don't throw an
IllegalBlockingModeException if we have a non-blocking
channel which initiated this connect operation.
* java/nio/channels/spi/AbstractSelectableChannel.java
(configureBlocking): Only call implConfigureBlocking() if
the desired blocking mode is different from our current one.
From-SVN: r76956
(selectThreadMutex): New field.
(selectThread): New field.
(unhandledWakeup): New field.
(implCloseSelector): Added skeleton code which
synchronizes as per Sun JRE JavaDoc.
(keys): Throw ClosedSelectorException if selector
is closed.
(selectNow): Added comment that we're faking out
an immediate select with a one-microsecond-timeout one.
(select): Use 0 instead of -1 for infinite timeout.
(implSelect): Changed comment in declaration.
(select): Added synchronized to method declaration.
Added synchronization and wakeup support as per Sun
JRE JavaDoc.
(selectedKeys): Throw ClosedSelectorException if selector
is closed.
(wakeup): Implemented.
(deregisterCancelledKeys): Synchronize on cancelled key
set before deregistering.
(register): Synchronize on key set before registering.
* java/nio/channels/spi/AbstractSelector.java
Added import for java.nio.channels.ClosedSelectorException.
(close): Added synchronized to method declaration.
(cancelledKeys): Throw ClosedSelectorException if selector
is closed.
(cancelKey): Synchronize on cancelled key set before key.
From-SVN: r74879
2003-12-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ChannelInputStream.java: New file.
* java/nio/channels/Channels.java (newInputStream): Implemented.
* java/nio/channels/FileChannelImpl.java
(readImpl): Only put data into buffer if something was read.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/ChannelInputStream.java.
* Makefile.in: Regenerated.
From-SVN: r74842
2003-10-21 Michael Koch <konqueror@gmx.de>
* java/nio/ByteOrder.java,
java/nio/DirectByteBufferImpl.java,
java/nio/channels/FileChannelImpl.java:
Add code to load library with code for native methods if needed.
From-SVN: r72747
* java/nio/Buffer.java
(hasRemaining): Made implementation more clear.
* java/nio/MappedByteBuffer.java
(loaded): New member variable.
(force): Added comment.
(isLoaded): Return value of loaded.
(load): Set loaded to true, added comment.
From-SVN: r72418
* gnu/java/nio/PipeImpl.java
(SourceChannelImpl): New inner class.
(SinkChannelImpl): New inner class.
(sink): New member variable.
(source): New member variable.
(PipeImpl): Add SelectorProvider argument, implemented.
(nativeInit): New method.
(sink): Return sink channel.
(source): Return source channel.
* gnu/java/nio/SelectorProviderImpl.java
(openPipe): Give provider as argument to PipeImpl constructor.
* java/nio/channels/spi/SelectorProvider.java
(pr): Removed.
(systemDefaultProvider): New member variable.
(provider): Made it synchronized, use property
java.nio.channels.spi.SelectorProvider.
* gnu/java/nio/natPipeImpl.cc: New file.
* Makefile.am (nat_source_files): Added gnu/java/nio/natPipeImpl.cc.
* Makefile.in: Regenerated.
From-SVN: r72397
* java/nio/ByteBufferImpl.java
(ByteBufferImpl): Made it a package-private class
* java/nio/CharBufferImpl.java
(CharBufferImpl): Made it a package-private class
* java/nio/DirectByteBufferImpl.java
(DirectByteBufferImpl): Made it a package-private class
* java/nio/DoubleBufferImpl.java
(DoubleBufferImpl): Made it a package-private class
* java/nio/FloatBufferImpl.java
(FloatBufferImpl): Made it a package-private class
* java/nio/IntBufferImpl.java
(IntBufferImpl): Made it a package-private class
* java/nio/LongBufferImpl.java
(LongBufferImpl): Made it a package-private class
* java/nio/ShortBufferImpl.java
(ShortBufferImpl): Made it a package-private class
* java/nio/channels/FileChannel.java
(write): Made final.
* java/nio/channels/ServerSocketChannel.java
(ServerSocketChanne): Made protected.
From-SVN: r68571
* java/nio/channels/FileChannel.java
(MapMode.m): Made it package-private to match JDK 1.4.
* java/nio/charset/Charset.java
(decode): Made it final to match JDK 1.4.
From-SVN: r66756
* java/nio/CharBuffer.java
(offset): Make it package-private.
(backing_buffer): Likewise.
* java/nio/DoubleBuffer.java
(offset): Make it package-private.
(backing_buffer): Likewise.
(put): Reformatted.
* java/nio/FloatBuffer.java
(offset): Make it package-private.
(backing_buffer): Likewise.
* java/nio/IntBuffer.java
(offset): Make it package-private.
(backing_buffer): Likewise.
* java/nio/LongBuffer.java
(offset): Make it package-private.
(backing_buffer): Likewise.
* java/nio/ShortBuffer.java
(offset): Make it package-private.
(backing_buffer): Likewise.
From-SVN: r66657
* java/nio/CharBuffer.java
(put): Fixed precondtion check.
(toString): Make it work without backing array.
(put): Skip one level of method calling.
From-SVN: r66656
* gnu/java/nio/ByteBufferImpl.java
(ByteBufferImpl): Renamed two variables.
* gnu/java/nio/CharBufferImpl.java
(CharBufferImpl): Renamed two variables.
* gnu/java/nio/DoubleBufferImpl.java
(DoubleBufferImpl): Renamed two variables.
* gnu/java/nio/FloatBufferImpl.java
(FloatBufferImpl): Renamed two variables.
* gnu/java/nio/IntBufferImpl.java
(IntBufferImpl): Renamed two variables.
* gnu/java/nio/LongBufferImpl.java
(LongBufferImpl): Renamed two variables.
* gnu/java/nio/ShortBufferImpl.java
(ShortBufferImpl): Renamed two variables.
* java/nio/CharBuffer.java
(wrap): Fixed arguments to CharBufferImpl constructor.
(hasArray): Only not read-only buffers have backing arrays.
(length): Documentation added.
(subSequence): Documentation added.
* java/nio/DoubleBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/FloatBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/IntBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/LongBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
* java/nio/ShortBuffer.java
(hasArray): Only not read-only buffers have backing arrays.
From-SVN: r63101
* java/nio/ByteBuffer.java
(endian): New member variable.
(get): New methods.
(equals): New method.
(compareTo): New method.
(order): New methods.
(compact): New method.
(isDirect): New method.
(slice): New method.
(duplicate): New method.
(asReadOnlyBuffer): New method.
(asCharBuffer): New method.
(asDoubleBuffer): New method.
(asFloatBuffer): New method.
(asIntBuffer): New method.
(asLongBuffer): New method.
(asShortBuffer): New method.
(get*): New methods.
(put*): New methods.
(toString): New method.
* java/nio/CharBuffer.java
(CharBuffer): Implement Comparable instead of Cloneable.
(get): May not be final.
(put): May not be final.
From-SVN: r62836
* java/nio/Buffer.java
(cap, lim, pos, mark): Made private
(Buffer): Added package private constructor.
* java/nio/ByteBuffer.java
(ByteBuffer): Implements Cloneable.
(offset): New member variable.
(readOnly): New member variable.
(backing_buffer): New member variable.
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet, documentation added.
(allocate): Documentation added.
(wrap): Documentation added.
(ByteBuffer): New constructor.
(hasArray): New method.
(array): New method.
(arrayOffset): New method.
(get): Documentation added.
(put): Documentation added.
* java/nio/CharBuffer.java
(CharBuffer): New constructor.
(compareTo): Don't access member variables of Buffer directly.
* java/nio/DoubleBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/FloatBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/IntBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/LongBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
* java/nio/MappedByteBuffer.java
(MappedByteBuffer): New method.
(force): New method.
(isLoaded): New method.
(load): New method.
* java/nio/ShortBuffer.java
(allocateDirect): Throw exception and tell that direct buffers are
not supported yet.
From-SVN: r62685
* java/nio/DoubleBuffer.java
(DoubleBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(DoubleBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/FloatBuffer.java
(FloatBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(FloatBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/IntBuffer.java
(IntBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(IntBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/LongBuffer.java
(LongBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(LongBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
* java/nio/ShortBuffer.java
(ShortBuffer): Implements Comparable.
(endian): Removed.
(array_offset): New member variable.
(ShortBuffer): New constuctor.
(get): May not be final.
(put): May not be final.
(arrayOffset): Implemented.
(order): Made abstract.
(order): Removed.
(as*Buffer): Removed.
(get*): Removed.
(put*): Removed.
From-SVN: r62684